r - 无法计算条件均值

标签 r error-handling mean tibble

我有这个小数据集

structure(list(score = c("mine_score", "your_score", "mine_score", 
                            "your_score", "mine_score", "your_score"), points = c(53, 13.25, 
                                                                               17.5, 1.59090909090909, 48.5, 6.92857142857143)), row.names = c(NA, 
                                                                                                                                               -6L), class = c("tbl_df", "tbl", "data.frame"))

应用此公式时:

mean(long[long$score == 'mine_score', "points"], na.rm = TRUE)

我收到此错误,但无法找出原因:

Warning message:
In mean.default(long[long$score == "mine_score", "points"], na.rm = TRUE) :
  the argument is not numeric or logic: returns NA

有人可能知道这个错误是由什么引起的吗? 谢谢

最佳答案

您的查询返回一个单列数据框,意味着无法理解;它必须返回一个向量。您可以使用 $ 返回向量:

mean(long$points[long$score == 'mine_score'], na.rm = TRUE)
#[1] 39.66667

如果您确实想坚持原始查询,可以使用 [[1]] 将数据帧的第一列作为向量返回:

mean(long[long$score == 'mine_score', "points"][[1]], na.rm = TRUE)

关于r - 无法计算条件均值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75362822/

相关文章:

r - all.equal() 的公差参数是如何工作的?

r - 如何从 zip 读取多个 csv 文件并导入到 R 的不同数据框中?

r - 将列表中的 data.frames 堆叠到单个 data.frame 中,将名称(列表)保留为额外的列

php - 使用 throw try catch 错误处理的正确方法

python - 在 pandas df 中查找 timedelta 对象的均值和标准差

r - 在 R 中创建具有相同值的分块矩阵

php - 处理错误simple_html_dom.php

react-native - react native 错误: Super expression must either be null or a function

python - 运行或滑动中位数、均值和标准差

matlab - 在圆上移动均值