【发布时间】:2021-12-21 15:35:04
【问题描述】:
我是一名 R 新手,用来尝试分析植物物种的一些人口统计数据。我的数据框包括:
TagKey(唯一标识符)、Year(观察年份)、TagEstablished(首次发现植物的年份)和 StageClass(0=死亡,1=幼苗,2=植物,3=繁殖)。每年参观工厂都有一行,但我想要每株植物 1 行,然后是每年的状态列。这是为了逐年跟踪个人的状态。
示例数据:
TagKey <- c(PDPLM040J0_ALIFOR01_Belt_0, PDPLM040J0_ALIFOR01_Belt_0, PDPLM040J0_ALIFOR01_Belt_0, PDPLM040J0_ALIFOR01_Belt_1, PDPLM040J0_ALIFOR01_Belt_1, PDPLM040J0_ALIFOR01_Belt_1)
Year <- c(2020, 2020, 2020, 2021, 2021, 2021)
TagEstablished <- c(2020, 2020, 2020, 2020, 2020, 2020)
StageClass <- c(1, 2, 3, 0, 3, 3)
ALFO_stages <- data.frame(TagKey, Year, TagEstablished, StageClass)
我尝试使用 ddply:
ALFO_status <- ddply(ALFO_stages, .(TagKey), dplyr::summarize,
Year_Established = TagEstablished,
Status2020 = if(Year=="2020") {StageClass},
Status2021 = if(Year=="2021") {StageClass})
我的输出没有按需要按 TagKey 分组。输出对于它们各自的年份是正确的,但不适用的年份只是吐出 NA。帮忙?
【问题讨论】:
-
Few cmets:请尝试使用
dput获取您的样本数据,并提供生成此样本数据的 R 代码。其次,plyr已经退休了,所以现在接起来也不是最好的办法。dplyr是当前标准。第三,你到底想做什么? -
感谢您的意见。 Simon.S.A 在下面解决了我的问题。
标签: r dplyr plyr demographics