dplyr+;通过'添加复制向量;变异';
我想将变量向量添加到数据帧中,在给定的变量组中重复。在dplyr表示法中必须有一种简单的方法来实现这一点(我不希望使用match()语句) 数据:dplyr+;通过'添加复制向量;变异';,r,R,我想将变量向量添加到数据帧中,在给定的变量组中重复。在dplyr表示法中必须有一种简单的方法来实现这一点(我不希望使用match()语句) 数据: 库(dplyr);图书馆(lubridate) 数据您正试图为数据的每个子集将周向量分配给列perc,这不是您想要做的。您需要的是为每周选择一个weekly\u vector元素,并将此唯一值分配给data中的perc列。一种方法是通过left\u join将数据与包含每周和相应perc值的数据框连接起来 data %>% left_join(
库(dplyr);图书馆(lubridate)
数据您正试图为数据的每个子集将周向量
分配给列perc
,这不是您想要做的。您需要的是为每周选择一个weekly\u vector
元素,并将此唯一值分配给data
中的perc
列。一种方法是通过left\u join
将数据与包含每周和相应perc
值的数据框连接起来
data %>% left_join(data.frame(week = unique(data$week), perc = weekly_vector))
但这里不一定需要dplyr
。例如,你可以只做一件事
data$perc <- weekly_vector[factor(data$week, labels ="")]
数据$perc完美。。。dplyr有太多的参数,我想我应该重新阅读文档。快速问题:为什么需要在left_join方法中指定“data.frame”?我刚刚在left_join
函数中创建了数据框来连接数据。如果愿意的话,您可以在外部执行,并将其存储在单独的变量中left_join
将两个数据帧作为参数,然后将它们合并。因为我们使用的是管道操作符,所以第一个操作符是data
data <- data %>% group_by(week) %>% mutate(perc = weekly_vector)
data %>% left_join(data.frame(week = unique(data$week), perc = weekly_vector))
data$perc <- weekly_vector[factor(data$week, labels ="")]