R 将两列转换为一行和一列
我有一张这样的桌子:R 将两列转换为一行和一列,r,R,我有一张这样的桌子: 第1列第2列第3列 A X 87 A Y 523 A Z 234 bx33 B Y 104 Cx93 cz24 是否可以将其转换为一个表,其中ABC是列名,XYZ是行名?数字将包含在表中。使用以下示例数据集(和Reformae2包) 使用tidyr软件包 我假设你在数据框中设置了这个 #Set up data a<-c('A', 'A', 'A', 'B', 'B', 'C', 'C') b<-c( 'X', 'Y', 'Z', 'X', 'Y', 'X',
第1列第2列第3列
A X 87
A Y 523
A Z 234
bx33
B Y 104
Cx93
cz24
是否可以将其转换为一个表,其中ABC是列名,XYZ是行名?数字将包含在表中。使用以下示例数据集(和Reformae2包) 使用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)
#设置数据
A.
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