我有一组6个大型矩阵,每个矩阵具有相同的列数(当前均以不同的方式标记)和相同数量的行(均以相同的方式标记)。我想对数据框进行一些计算以创建新矩阵。
我要运行以下计算:对于n
,df1$[,1:i]
中的sqrt(n)
行,并将其添加到其他5个矩阵中所有等效单元格的值。
因此,如果我有两个样本矩阵,例如:
library(tibble)
df1 <- tribble("Value", ~A, ~B, ~C, ~D,
"A", .34, .12, 1, 0,
"B", .89, .2, 0, 0,
"C", 1, .37, 1, .02,
"D", 0, 0, .21, 0)
df2 <- tribble("Value", ~A, ~B, ~C, ~D,
"A", .21, 0, 1, 0,
"B", .54, .72, 0, 1,
"C", .21, .7, 0, 0,
"D", .45, .03, 0, .12)
我想对df1$A
中的每一行取每个值的平方根,并将其添加到df2$A
中的等效值中,以创建一个新矩阵。
答案 0 :(得分:1)
您可以将data.frame
(或tibble
)一起添加:
sqrt(df1[, -1]) + sqrt(df2[, -1])
A B C D
1 1.0413528 0.3464102 2.0000000 0.0000000
2 1.6782450 1.2957417 0.0000000 1.0000000
3 1.4582576 1.4449363 1.0000000 0.1414214
4 0.6708204 0.1732051 0.4582576 0.3464102
我还将您的数据从"Value"
更改为~Value
:
df1 <- tribble(~Value, ~A, ~B, ~C, ~D,
"A", .34, .12, 1, 0,
"B", .89, .2, 0, 0,
"C", 1, .37, 1, .02,
"D", 0, 0, .21, 0)
df2 <- tribble(~Value, ~A, ~B, ~C, ~D,
"A", .21, 0, 1, 0,
"B", .54, .72, 0, 1,
"C", .21, .7, 0, 0,
"D", .45, .03, 0, .12)