我正在尝试使用df1(摘要表),并将其合并到df2(主摘要表)中。 这是df2的快照,忽略随机数42,仅是最终问题的答案。 这是df1的示例。
最后,我有一个称为日期的向量。这与作为df2列名称的日期匹配。 我试图循环浏览20个文件,并收集该文件的摘要统计信息。然后,我想将该数据输入df2进行永久存储。我只需要输入收入列。 我尝试使用合并,但是由于它们没有共享的列名,因此无法使用。 我的下一个尝试是尝试这个。但由于行号不相等,因此产生了错误。
/list
然后我想,如果我指定了确切的位置,它可能会起作用。
df2[,paste(Dates[i])] <- cbind(df2,df1)
但这给了错误,“新列将在现有列之后留下漏洞” 因此,我想到了再尝试一次,但是要使用cbind。
df2[1:length(df1$Earned),Dates[i]] <- df1$Earned
任何想法都将不胜感激。谢谢。
答案 0 :(得分:1)
类似的事情可能会起作用:
df1[df1$TreatyYear %in% df2$TreatyYear, Dates] <- df2$Earned
示例
df <- data.frame(matrix(NA,4,4))
df$X1 <- 1:4
df[df$X1 %in% c(1,2),c("X3","X4")] <- c(1,2)
答案 1 :(得分:0)
到目前为止,我发现的唯一解决方案是将df1 $ Earned强制为向量。然后将向量附加为df2的确切长度。然后,我可以通过特定列将值插入df2中。
temp_values <- append(df1$Earned,rep(0,(length(df2$TreatyYear)-length(df1$TreatyYear))),after=length(df1$Earned))
df2[,paste(Dates[i])] <- temp_values
这是一种修复的round回方式,但不是一种非常舒适的方式。任何更好的想法将不胜感激。