我需要复制数据集中的每一行,同时在两行之间划分一列的值,但如果满足条件,则保持其他值不变。我的数据看起来像这样:
df <- data.frame(ID = c("A","B","C"),
class = c(2,4,6),
value = c(100,150,100))
现在我想拆分每一行,将value
在这两行之间划分,并根据前一个类为每一行分配两个不同的类。所以如果class
= 2,分割后会是1和2,value
在这两行之间平分。
所以它看起来像这样:
df1 <- data.frame(ID = c("A","A","B","B","C","C"),
class = c(1,2,3,4,5,6),
value = c( 50,50,75,75,50,50))
1条答案
按热度按时间dpiehjr41#
您可以将两者
bind_rows
,同时将其中一个的class
设置为class - 1
,然后将value
除以每组的观察数,然后将arrange
按所需顺序计算。