我有一个包含树数据的框架(df1
),其中每行表示不同年份地块上的一棵树。框架有地块ID(plot
)、树ID(tree
)、树是否死亡的信息(dead
)、树是否被收割(harvest
)和相应年份(year
)。
我想把这个相框改造成一个新的(df2
),它汇总地块级别的信息,指示地块是否在两个指定间隔之间收获。(df2
)应包括地块ID列(plot
)、间隔的开始年份(year1
)、间隔的结束年份(year2
)以及地块是否在该间隔内收获的二元指标(harvest
)。
我已经提供了示例输入(df1
)和预期输出(df2
)。有人能帮助我使用R或任何相关的数据操作技术实现这种转换吗?
谢谢你,谢谢
df1 <- structure(list(plot = c("A", "A", "A", "A", "A", "A", "B", "B",
"B", "B", "B", "C", "C", "C", "C", "C"), tree = c(1L, 1L, 1L,
2L, 2L, 2L, 1L, 1L, 2L, 2L, 2L, 1L, 1L, 1L, 2L, 2L), dead = c(0L,
0L, 1L, 0L, 0L, 0L, 0L, 1L, 0L, 0L, 1L, 0L, 0L, 0L, 0L, 1L),
harvest = c(0L, 0L, 1L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 0L,
0L, 0L, 0L, 1L), year = c(2000L, 2005L, 2010L, 2000L, 2005L,
2010L, 2002L, 2004L, 2002L, 2004L, 2006L, 2000L, 2005L, 2010L,
2010L, 2015L)), class = "data.frame", row.names = c(NA, -16L
))
字符串
这就是我想结束的:
df2 <- structure(list(plot = c("A", "A", "B", "B", "C", "C", "C"), year1 = c(2000L,
2005L, 2002L, 2004L, 2000L, 2005L, 2010L), year2 = c(2005L, 2010L,
2004L, 2006L, 2005L, 2010L, 2015L), harvest = c(0L, 1L, 1L, 1L,
0L, 0L, 1L)), class = "data.frame", row.names = c(NA, -7L))
型
1条答案
按热度按时间bihw5rsg1#
不确定这是否是你想要的,因为我不清楚你是否在图树级别进行分析。假设你是,这就是你对
dplyr
所做的:字符串
如果您只需要在图级别进行分析,它是一个小的变体。
编辑:最后注解的行是在图级别进行分析时所需的步骤。