我有以下数据框NewTests: 问题:我想使用' duration'中的信息复制数据框中的行。柱。虽然在这种情况下复制因子是1,但它可以是2,3,4等。在复制行中,我想添加一个名为' Date'其中包含PromotionStartDate和PromotionEndDate列的信息。
E.g。在这种情况下,日期列应包含显示的条目的2017-04-01。但在另一种情况下,持续时间为2且PromotionStartDatae = 2017-03-01和PromotionEndDate = 2017-05-01,复制的行1应包含2017-03-01的日期列,复制的行2应包含2017-04日期栏中的-01。
我正在尝试使用以下解决方案来解决我的问题:
library(splitstackshape)
newConrtols=expandRows(NewTests,"duration",drop=FALSE)%>%
group_by(CustomerNumber,PromotionID,RewardAssigned,RunID,ModelID)%>%
mutate(Date=seq(as.Date(PromotionStartDate),as.Date(PromotionEndDate),by="month")[1:duration])
但这会产生错误:
Error in mutate_impl(.data, dots) : 'from' must be of length 1
我在解决方案中做错了什么?
答案 0 :(得分:0)
这很简单,您只需使用以下示例选择正确的行。 假设我有一个像你一样的数据框架。
a=c(1,2,3,4)
b=c(a,b,c,d)
t=data.frame(a,b)
现在,如果我想要第二列,我通常会输入
t[2,]
现在我想要第二行我会输入
t[,2]
如果我想复制第五行,我会做
t[,5]=t[,2]
如果您希望将日期从PromotionDate列复制到FinalDate,您可以这一行:your_variable_with_the_dataframe[6,]=your_variable_with_the_dataframe[7,]