data.frame r 中的转换
data.frame conversion in r
我有一个包含许多列的 df。每行代表每次采样旅行中看到的一个物种。我想将其转换为矩阵或数据框,其中每一列都是一个物种,每一行都是一次采样之旅。我想将其转换为使用素食函数进行分析。
我基本上想要这个melting data.frame in R
的反面
原始格式
data.frame(speciesname=c("a","b","c","a"),sample.id=c(1,1,2,3),count=c(10,1,5,2))
speciesname sample.id count
1 a 1 10
2 b 1 1
3 c 2 5
4 a 3 2
我想把它转换成这样:
a b c
1 10 1 0
2 0 0 5
3 2 0 0
我尽量不使用 if 语句制作一些可怕的双 for 循环,但如果那是我必须做的...
使用xtabs()
xtabs(count ~ sample.id + speciesname, df)
# speciesname
# sample.id a b c
# 1 10 1 0
# 2 0 0 5
# 3 2 0 0
我有一个包含许多列的 df。每行代表每次采样旅行中看到的一个物种。我想将其转换为矩阵或数据框,其中每一列都是一个物种,每一行都是一次采样之旅。我想将其转换为使用素食函数进行分析。 我基本上想要这个melting data.frame in R
的反面原始格式
data.frame(speciesname=c("a","b","c","a"),sample.id=c(1,1,2,3),count=c(10,1,5,2))
speciesname sample.id count
1 a 1 10
2 b 1 1
3 c 2 5
4 a 3 2
我想把它转换成这样:
a b c
1 10 1 0
2 0 0 5
3 2 0 0
我尽量不使用 if 语句制作一些可怕的双 for 循环,但如果那是我必须做的...
使用xtabs()
xtabs(count ~ sample.id + speciesname, df)
# speciesname
# sample.id a b c
# 1 10 1 0
# 2 0 0 5
# 3 2 0 0