如何在R中转换表?
这是my data.txt:如何在R中转换表?,r,R,这是my data.txt: country attitude count china a 52 china b 58 china c 25 china d 12 china e 3 china f 1 france a 35 france b 48 france c 40 france d 21 france e 9 france f 2 india
country attitude count
china a 52
china b 58
china c 25
china d 12
china e 3
china f 1
france a 35
france b 48
france c 40
france d 21
france e 9
france f 2
india a 96
india b 28
india c 13
india d 7
india e 10
india f 0
england a 21
england b 41
england c 50
england d 23
england e 18
england f 3
usa a 31
usa b 48
usa c 45
usa d 19
usa e 10
usa f 3
我想得到表1:
attitude count
a 235
b 223
c 173
d 82
e 50
f 9
表2:
a b c d e f
china 52 58 25 12 3 1
france 35 48 40 21 9 2
india 96 28 13 7 10 0
england 21 41 50 23 18 3
usa 31 48 45 19 10 3
如何将data.txt转换为这两个表 表1:
aggregate(count~attitude,data=data.txt,FUN=sum)
attitude count
1 a 235
2 b 223
3 c 173
4 d 82
5 e 50
6 f 9
表2:
xtabs(count~country+attitude,data.txt)
attitude
country a b c d e f
china 52 58 25 12 3 1
england 21 41 50 23 18 3
france 35 48 40 21 9 2
india 96 28 13 7 10 0
usa 31 48 45 19 10 3
或者,如果您需要新的data.frame:
reshape(data.txt,direction="wide",timevar="attitude",idvar="country")
country count.a count.b count.c count.d count.e count.f
1 china 52 58 25 12 3 1
7 france 35 48 40 21 9 2
13 india 96 28 13 7 10 0
19 england 21 41 50 23 18 3
25 usa 31 48 45 19 10 3
表1:
aggregate(count~attitude,data=data.txt,FUN=sum)
attitude count
1 a 235
2 b 223
3 c 173
4 d 82
5 e 50
6 f 9
表2:
xtabs(count~country+attitude,data.txt)
attitude
country a b c d e f
china 52 58 25 12 3 1
england 21 41 50 23 18 3
france 35 48 40 21 9 2
india 96 28 13 7 10 0
usa 31 48 45 19 10 3
或者,如果您需要新的data.frame:
reshape(data.txt,direction="wide",timevar="attitude",idvar="country")
country count.a count.b count.c count.d count.e count.f
1 china 52 58 25 12 3 1
7 france 35 48 40 21 9 2
13 india 96 28 13 7 10 0
19 england 21 41 50 23 18 3
25 usa 31 48 45 19 10 3
使用哈德利的软件包
plyr::ddply(d, .(attitude), summarise, n = sum(count))
reshape2::dcast(d, country ~ attitude)
使用哈德利的软件包
plyr::ddply(d, .(attitude), summarise, n = sum(count))
reshape2::dcast(d, country ~ attitude)
我的数据在eval(predvars,data,env)中的“/home/debian/data.txt”,aggregate(count~attitude,data=“/home/debian/data.txt”,FUN=sum)错误中(predvars,data,env):无效的'envir'参数我该怎么办?@BqsjSjbq我使用了
data.txt
作为变量名,以寻求更好的名称。它不是指向该文件的链接。使用data.txt我的数据在“/home/debian/data.txt”中,聚合(count~attitude,data=“/home/debian/data.txt”,FUN=sum)eval中出错(predvars,data,env):无效的'envir'参数我该怎么办?@BqsjSjbq我使用data.txt
作为变量名,以寻求更好的名称。它不是指向该文件的链接。使用data.txt