我有这样的数据:
sp rd pH abund area point dd
1 dog uniq 4.5 5 1 a dog.uniq
2 rabbit lol 4.5 5 1 a rabbit.lol
3 dog for 4.5 3 1 a dog.for
4 cat uniq 4.5 8 1 a cat.uniq
5 cat mains 4.5 5 1 a cat.mains
6 cat mains 3.1 9 1 b cat.mains
7 dog for 3.1 1 1 b dog.for
8 dog uniq 3.1 3 1 b dog.uniq
9 dog for 5.1 2 2 a dog.for
10 bird mac 5.1 3 2 a bird.mac
11 dog uniq 5.1 5 2 a dog.uniq
12 rabbit lol 5.1 7 2 a rabbit.lol
13 dog uniq 4.2 8 2 b dog.uniq
14 cat mains 4.2 5 2 b cat.mains
15 rabbit lol 4.2 2 2 b rabbit.lol
16 dog for 4.2 3 2 b dog.for
我想通过它们来获取有关abund
取决于dd
的信息。所以我的预期数据应如下所示:
area point pH dog.uniq dog.for cat.uniq cat.mains bird.mac rabbit.lol
1 1 a 4.5 5 3 8 5 NA 5
2 1 b 3.1 3 1 NA 9 NA NA
3 2 a 5.1 5 2 NA NA 3 7
4 2 b 4.2 8 3 NA 5 NA 2
我已经尝试了
datb <- acast(data, (abund+point+area)~dd)
或一些修改,但我显然不完全理解这个功能是如何工作的。
答案 0 :(得分:2)
我们可以使用dcast
library(reshape2)
dcast(df1, area+point+pH ~dd, value.var='abund')