r - 如何计算数据框中每一行的平均值?[R]
问题描述
这是df:
# A tibble: 6 x 5
t a b c d
<dbl> <dbl> <dbl> <dbl> <dbl>
1 3999. 0.00586 0.00986 0.00728 0.00856
2 3998. 0.0057 0.00958 0.00702 0.00827
3 3997. 0.00580 0.00962 0.00711 0.00839
4 3996. 0.00602 0.00993 0.00726 0.00875
我想获得所有行的平均值,除了不包括第一列。我写的代码:
df$Mean <- rowMeans(df[select(df, -"t")])
我得到的错误:
Error: Must subset columns with a valid subscript vector.
x Subscript `select(group1, -"t")` has the wrong type `tbl_df<
p2 : double
p8 : double
p10: double
p9 : double
>`.
ℹ It must be logical, numeric, or character.
我试图将 df 转换为矩阵,但随后出现另一个错误。我应该如何解决这个问题?
现在我正在尝试使用代码计算标准误差:
se <- function(x){sd(df[,x])/sqrt(length(df[,x]))}
sapply(group1[,2:5],se)
我尝试指出应该使用哪些列来计算错误,但再次弹出错误:
Error: Must subset columns with a valid subscript vector.
x Can't convert from `x` <double> to <integer> due to loss of precision.
我使用了有效的列下标,所以我不知道为什么会出错。
解决方案
类似的base R
解决方案是:
df$Mean <- rowMeans(df[,-1],na.rm=T)
输出:
t a b c d Mean
1 3999 0.00586 0.00986 0.00728 0.00856 0.0078900
2 3998 0.00570 0.00958 0.00702 0.00827 0.0076425
3 3997 0.00580 0.00962 0.00711 0.00839 0.0077300
4 3996 0.00602 0.00993 0.00726 0.00875 0.0079900
推荐阅读
- c# - 从 Graph Api 中的特定用户获取托管设备?
- firebase - Firestore中高率的意思
- android - 使用 Retrofit 发出多个异步请求
- deployment - 无法使用“Type-C”电缆在真实设备上部署我的 ionic 应用程序
- xsd - 有效 xsd:DateTimeStamp 猫头鹰中的文字值
- shell - Ansible shell 模块在 AiX 系统上失败和错误
- sql - 如何按名称和角色加载行并根据其名称对它们进行排序,但首选名称?(SQL)
- ignite - 一段时间后,Ignite Nodes 断开连接
- c# - 在将数据导出到数据库表时,从 csv 单元格中转义逗号(,)
- javascript - 在 total.js 中,定义我可以在脚本和模板中使用的全局常量的最佳方法是什么?