关于r:如何忽略NA的每一列计算平均值 |
您所在的位置:网站首页 › r语言怎么求均值 › 关于r:如何忽略NA的每一列计算平均值 |
本问题已经有最佳答案,请猛点这里访问。
表,data.frame。 其中有12列具有变量名和24行df 喜欢: 1234Var1 Var2 Var3 Var4 Var12 1 NA 2 3 4 5 6 2 3 3 NA 7 8 NA 4我想计算每列的均值,而忽略Na的 例如: colMeans(df) 并得到如下结果: 12Var1 Var2 Var3 Var4 Var12 3 6,5 4 3 3,66我不希望在平均值计算中考虑NA。 我尝试了诸如na.omit,!is.na之类的方法,但没有得到如上所述的预期结果。 相关讨论 colMeans(df, na.rm = TRUE) 是的,行得通! Thanx很简单..:P 您可能想将其发布为答案? 均值的计算是正确的,但是如何在使col名称高于每个均值的同时获得水平的效果呢? 不知道那是什么意思。 您可以使用预期的输出更新帖子吗? 是的,在预期的输出中,您可以看到我想要的。 是列中且均值下方的每个变量名称吗 它给我的期望输出与执行colMeans(df, na.rm = TRUE)时所示的输出相同,我有一个变量名及其下的平均值,不确定丢失了什么。 是的,它给出了一个名为" means"的变量名,但我希望我的数据表的变量名是12且在12个变量中的每个变量名下方是单个平均值。 如Var1-> 3.32 Var2-> 4.55等。对于data.table dt,如下所示: 12345dt Var1 Var2 Var3 Var4 Var12 1: 1 NA 2 3 4 2: 5 6 2 3 3 3: NA 7 8 NA 4您可以简单地使用lapply(): 1dt[, lapply(.SD, mean, na.rm = TRUE)]结果是: 12 Var1 Var2 Var3 Var4 Var12 1: 3 6.5 4 3 3.666667 相关讨论 除了行意味着什么,您将如何对确切内容进行语法解释? 您可以使用dt[, apply(.SD, 1, mean, na.rm = TRUE)] 由于某种原因,现在dt [,lapply(.SD,Mean,na.rm = TRUE)]给我一个错误:.subset(x,j)中的错误:下标类型列表无效但是在我没有得到错误之前? 哦,好的,我修复了它应该已经转换回数据表的问题 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |