将列表格式的数据帧转换为R中的矩阵格式
我在R中有下面的data.frame将列表格式的数据帧转换为R中的矩阵格式,r,dataframe,matrix,R,Dataframe,Matrix,我在R中有下面的data.frame (df1 <- data.frame(col1=rep(c('a','b','c'),each=3), col2=rep(c('d','e','f'),3), col3=1:9)) col1 col2 col3 1 a d 1 2 a e 2 3 a f 3 4 b d 4 5 b e
(df1 <- data.frame(col1=rep(c('a','b','c'),each=3),
col2=rep(c('d','e','f'),3),
col3=1:9))
col1 col2 col3
1 a d 1
2 a e 2
3 a f 3
4 b d 4
5 b e 5
6 b f 6
7 c d 7
8 c e 8
9 c f 9
最简单的方法是什么?一个选项是
xtabs
xtabs(col3~ col1 + col2, df1)
或使用
acast
reshape2::acast(df1, col1 ~ col2)
一个选项是
xtabs
xtabs(col3~ col1 + col2, df1)
或使用
acast
reshape2::acast(df1, col1 ~ col2)
谢谢,但是如何将其从xtabs转换为data.frame或matrix类?@Rodrigo,如果您希望使用
as.data.frame.matrix
进行data.frame包装,并且acast
输出是矩阵
xtabs
也是一个带有xtabs
属性的matrix
,如果需要,我们可以删除它。如果<代码>出来,太棒了!谢谢你的另一课。谢谢,但我如何将它从xtabs转换为data.frame或matrix类?@Rodrigo,如果你想使用as.data.frame.matrix
进行data.frame包装,并且acast
输出是matrix
xtabs
也是一个带有xtabs
属性的matrix
,如果需要,我们可以删除它。如果<代码>出来,太棒了!谢谢你再上一课。