将数据表转换为矩阵R.

时间:2017-05-04 12:31:03

标签: r reshape

我有一个数据表,其中包含样本位置,物种名称和密度,如下所示:

    location     species    density
2   Abludomelita obtusata   12,92
3   Abludomelita obtusata   142,119
17  Abludomelita obtusata   12,92
42  Abludomelita obtusata   12,92
93  Abludomelita obtusata   12,92
2   Abra alba   155,039
3   Abra alba   710,594
6   Abra alba   12,92
15  Abra alba   12,92
17  Abra alba   12,92
18  Abra alba   38,76
27  Abra alba   684,755

我希望将其转换为像这样的矩阵类型表

Location    Abludomelita obtusata   Abra alba   etc
1   na  na  
2   12,92   155,039 
3   142,119 710,594 

我尝试了xtabs (xtabs(density ~ location + species,*filename*, na.action=0),但由于某些原因无效 谢谢你的想法 罗

1 个答案:

答案 0 :(得分:0)

这是你的意思吗?

library(reshape)
df <- data.frame(
location = c(2,3, 17, 42, 93, 2, 3, 6),
species = c('Abludomelita', 'Abludomelita', 'Abludomelita', 'Abludomelita', 'Abludomelita', 'Abra Alba', 'Abra Alba', 'Abra Alba'), 
density = c(12.92, 112.12, 123.12, 13.14, 16.23, 17.19, 76.12, 13.32))


cast(df, location ~ species)