我正在使用数据集,我必须在其中创建一个新计算(此处为第v2列)。我试图自己引用v2的先前值并将其添加到当前值v1,所有这些计算都应该发生在组(组,级别)上
请找到以下数据集:
group <- c('A','A','A','A','B','B','B','B')
level <- c(1,1,2,2,1,1,1,1)
date1 <- as.Date(c('2017-1-10','2017-1-11','2017-1-10','2017-1-11',
'2017-1-10','2017-1-11','2017-1-12','2017-1-14'))
v1 <- c(0,3,1,2,1,2,-1,3)
df <- data.frame(group,level,date1,v1)
我试图改变并延迟为我的计算创建一个新的列v2
df$v2 <- 0
df %>% group_by(group,level) %>% mutate(v2 = v1 + lag(v2,1L,default = 0))
结果如下:
预期结果如下:
请注意我将要处理的数据集将包含超过100个组和15个级别,因此我必须自动计算v2。
为了更清晰,v2的公式将是= v2的先前值+组和级别创建的组中v1的当前值
非常感谢你的时间。非常感谢任何帮助
答案 0 :(得分:1)
您无法引用您在cumsum
中创建的变量。幸运的是,在这种情况下创建的变量可以使用df %>% group_by(group,level) %>% mutate(v2 = cumsum(v1))
来创建。
<?php
if($_SERVER['REQUEST_URI']==='/mask.php' && $_SERVER['SCRIPT_NAME']==='/mask.php')
{
include("content.php");
}
?>