我有一个包含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 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
答案 0 :(得分:1)
嗯,问题非常模糊,并没有提供一个例子。
假设你的意思是行差异:
library(data.table)
DT <- data.table(df)
DT[, rowvars := .(rowSums(DT[, 4:16, with = FALSE], na.rm = TRUE)^2/(13-1))]
看看它是否有效
答案 1 :(得分:1)
df是给定的数据框
所需的输出将来自此行
cbind(df, var = apply(df[,4:16], 1, function(x) var(na.omit(x))))