在R数据框中添加方差列
我有一个16列的数据框,我希望在末尾添加一列,行方差为4-16列。这也将忽略NA值 数据如下所示:在R数据框中添加方差列,r,R,我有一个16列的数据框,我希望在末尾添加一列,行方差为4-16列。这也将忽略NA值 数据如下所示: Chr Position end IA3023 Nam6 Nam9 ... 18 1 2 0.5 0.5 0.5 18 2 3 0 0.25 0.5 18 3 4 0.5 0.3 0.25 是否希望在最后一列中添加行差异: Chr Position end IA30
Chr Position end IA3023 Nam6 Nam9 ...
18 1 2 0.5 0.5 0.5
18 2 3 0 0.25 0.5
18 3 4 0.5 0.3 0.25
是否希望在最后一列中添加行差异:
Chr Position end IA3023 Nam6 Nam9 ... RowVariance
18 1 2 0.5 0.5 0.5 0
18 2 3 0 NA 0.5 0.125
18 3 4 0.5 0.3 0.25 0.0175
这个问题很模糊,没有提供一个例子 假设您的意思是行差异:
library(data.table)
DT <- data.table(df)
DT[, rowvars := .(rowSums(DT[, 4:16, with = FALSE], na.rm = TRUE)^2/(13-1))]
查看它是否工作df是给定的数据帧 所需的输出将来自该行
cbind(df, var = apply(df[,4:16], 1, function(x) var(na.omit(x))))
您遇到了什么问题?看看应用函数。您希望如何将12个不同功能的差异聚合到一列中?@Tgsmith61591我想他指的是行差异?您应该能够将cbind、apply、var和na.rm=TRUE参数到var的各个部分组合在一起…接收以下错误:错误在[.data.frameDT,:=rowvars,rowSumsDT[,4:16,with=FALSE],:找不到函数:=您是否加载了data.table包,我对它进行了测试,它对我来说运行正常。中的错误[.data.tableDT,4:16,with=FALSE:j越界这是一个列索引错误。您确定有16列吗?您可以更改括号中的列号,使其适合您的实际列范围。我愚蠢地使用了错误的数据帧,这就是我收到越界错误的原因。此参数有效,但不适用t表示每个列中NA'值的变化量df[,4:16]:类型为“closure”的对象不可子集这工作得非常好!谢谢!不过我没有投票权