【发布时间】:2017-08-22 17:26:51
【问题描述】:
我有 2 个数据框
数据帧 A 和数据帧 B。
A <- data.frame(a=c(1,2,3,4,5),b=c(2,4,6,8,10),c=c(3,6,9,12,15),x=c(4,8,12,16,20),y=c(5,10,15,20,25))
B <- data.frame(a=c(1,2,3,4,5),b=c(2,4,6,8,10),c=c(3,6,9,12,15),x=c(4,8,12,16,20),y=c(5,10,15,20,25))
A
a b c x y
1 2 3 4 5
2 4 6 8 10
3 6 9 12 15
4 8 12 16 20
5 10 15 20 25
B
a b c x y
1 2 3 4 5
2 4 6 8 10
3 6 9 12 15
4 8 12 16 20
5 10 15 20 25
预期输出:
C
a b c x y
1 0 0 0 0
2 0 0 0 0
3 0 0 0 0
4 0 0 0 0
5 0 0 0 0
两者都有一个由字母数字组成的键列。
两个数据框都有 260 列,其中 250 列是浮点数。
是否有更简单的方法可以轻松计算 250 列中每一列的方差并将方差存储在另一个数据框中?
【问题讨论】:
-
您可以在将数据集放入
list即library(matrixStats);lapply(list(A, B), function(x) colVars(as.matrix(x[-1])))后尝试colVars,我假设第一列为“id”列 -
非常感谢。我可以在 x 中指定一系列列是否正确?如果我的数据框有 10 个不需要比较的字符列?
-
数据框A与数据框B有什么关系?如果要独立计算方差,为什么要同时列出它们?
-
你可以有
x[c("b", "c")] -
似乎该方法对值求和并计算差异。我已经更新了预期的输出。我正在寻找每个单独列的差异。谢谢!
标签: r