如何根据r中的其他值更改数据帧中的值?
我在数据帧中创建了一个新变量。我想用数据帧中不同变量的总和来填充这个变量,但只针对共享第三个值的观测值。此外,我希望随着共享的第三个值的增量增加,对我的新值进行累计计数。例如,这就是我现在拥有的: evyy PSS MTI 1966 5. 0 1966 10 0 1966 15 0 1967 4. 0 1967 7. 0 1968 2. 0如何根据r中的其他值更改数据帧中的值?,r,R,我在数据帧中创建了一个新变量。我想用数据帧中不同变量的总和来填充这个变量,但只针对共享第三个值的观测值。此外,我希望随着共享的第三个值的增量增加,对我的新值进行累计计数。例如,这就是我现在拥有的: evyy PSS MTI 1966 5. 0 1966 10 0 1966 15 0 1967 4. 0 1967 7. 0 1968 2. 0 对于每个evyy,计算PSS值的sum,然后对每个值执行累积求和,并加入数据帧以获取原始数据 library(dplyr) #No need to hav
对于每个
evyy
,计算PSS
值的sum
,然后对每个值执行累积求和,并加入数据帧以获取原始数据
library(dplyr)
#No need to have an empty column beforehand.
old_df$MTI <- NULL
old_df %>%
group_by(evyy) %>%
summarise(MTI = sum(PSS)) %>%
mutate(MTI = cumsum(MTI)) %>%
left_join(old_df, by = 'evyy') -> new_df
new_df
# evyy MTI PSS
# <dbl> <int> <int>
#1 1966 30 5
#2 1966 30 10
#3 1966 30 15
#4 1967 41 4
#5 1967 41 7
#6 1968 43 2
数据
old_df <- structure(list(evyy = c(1966, 1966, 1966, 1967, 1967, 1968),
PSS = c(5L, 10L, 15L, 4L, 7L, 2L)), row.names = c(NA, -6L),
class = "data.frame")
old_df
old_df <- structure(list(evyy = c(1966, 1966, 1966, 1967, 1967, 1968),
PSS = c(5L, 10L, 15L, 4L, 7L, 2L)), row.names = c(NA, -6L),
class = "data.frame")