2015-11-26 3 views
1

У меня есть данные, как это:значения столбцов в строки в R

 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 

и я хочу transpone их принимать информацию о 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) 

или некоторые модификации, но я, очевидно, не в полной мере понять, как работает эта функция.

ответ

2

Мы можем использовать dcast

library(reshape2) 
dcast(df1, area+point+pH ~dd, value.var='abund') 
Смежные вопросы