![](/img/trans.png)
[英]How to convert a matrix from a list of matrices to an unlisted 2D numeric/matrix without flattening to a vector in R?
[英]How to convert in R a list of values (x,y,value) to a 2D matrix
输入时,我有一个行列表,例如:
a a 1
a b 2
a c 3
b a 4
b b 5
b c 6
c a 7
c b 8
c c 9
我需要阅读R中的列表并使用矩阵或数据框
a b c
+-------
a | 1 2 3
b | 4 5 6
b | 7 8 9
有没有办法针对行和列数为50k的大型矩阵有效地做到这一点?
尝试reshape2::acast()
:
library(reshape2)
acast(df, V1 ~ V2, value.var = "V3")
a b c
a 1 2 3
b 4 5 6
c 7 8 9
数据
df <- structure(list(V1 = c("a", "a", "a", "b", "b", "b", "c", "c",
"c"), V2 = c("a", "b", "c", "a", "b", "c", "a", "b", "c"), V3 = 1:9), .Names = c("V1",
"V2", "V3"), class = "data.frame", row.names = c(NA, -9L))
base R
选项是xtabs
xtabs(V3 ~ ., df)
# V2
#V1 a b c
# a 1 2 3
# b 4 5 6
# c 7 8 9
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.