我的桌子看起来像这样:
第1栏第2栏第3栏
A X 87
A Y 523
A Z 234
B X 33
B Y 104
C X 93
C Z 24
是否可以将其转换为ABC为列名且XYZ为行名的表?这些数字将包含在表格中。
答案 0 :(得分:0)
使用以下示例数据集(和reshape2包)
library(reshape2)
datas = expand.grid(Col1 = c('A','B','C'), Col2 = c('X','Y','Z'),Col3 = 1)
casteddata = acast(datas, Col1 ~ Col2, value.var = 'Col3')
答案 1 :(得分:0)
install.packages("tidyr")
library(tidyr)
我假设你在数据框中设置了这个
#Set up data
a<-c('A',
'A',
'A',
'B',
'B',
'C',
'C')
b<-c(
'X',
'Y',
'Z',
'X',
'Y',
'X',
'Z')
c<-c(87,
523,
234,
33,
104,
93,
24)
df <- data.frame(a,b,c)
使用传播功能
df_spread <- spread(df, "a","c")
> df_spread
b A B C
1 X 87 33 93
2 Y 523 104 NA
3 Z 234 NA 24