【发布时间】:2018-05-10 10:08:06
【问题描述】:
考虑以下我的种子研究的玩具数据框:
site <- c(LETTERS[1:12])
site1 <- rep(site,each=80)
fate <- c('germinated', 'viable', 'dead')
fate1 <- rep(fate,each=320)
number <- c(41:1000)
df <- data.frame(site1,fate1,number)
> str(df)
'data.frame': 960 obs. of 3 variables:
$ site1 : Factor w/ 12 levels "A","B","C","D",..: 1 1 1 1 1 1 1 1 1 1 ...
$ fate1 : Factor w/ 3 levels "dead","germinated",..: 2 2 2 2 2 2 2 2 2 2 ...
$ number: int 41 42 43 44 45 46 47 48 49 50 ...
我希望 R 遍历所有 “死” 的观察结果,并将 “0” 分配给每个观察结果。同样,我想将 "1" 分配给所有 "viable" 观察结果,并将 "2" 分配给所有 "发芽"强>观察。
我的最终数据框将是一列,有点像这样:
> year16
[1] 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0
[38] 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1
非常欢迎所有建议
【问题讨论】:
-
了解
factor? -
还有
match(df$fate1, c("dead", "viable", "germinated")) - 1 -
是的,我会读的。谢谢
-
可能重复,相关帖子:stackoverflow.com/questions/7547597/…
标签: r dataframe numeric levels