如何使用循环创建新data.frame

如何使用循环创建新data.frame,r,for-loop,R,For Loop,我有300个位置,比如说“A1,A2,A3,…,A300”,我有40个值。我的位置在df1中,我的值在df2中。我想将这40个值添加到每个位置,位置A1的代码从到40,依此类推 我试着做一个for循环: df1 <- c("A1", "A2", "A3") df1 <- data.frame(df1) colnames(df1) <- c("location") df2 <- c(1:40) df2 <-data.frame(df2) colnames(df2)

我有300个位置,比如说“A1,A2,A3,…,A300”,我有40个值。我的位置在df1中,我的值在df2中。我想将这40个值添加到每个位置,位置A1的代码从到40,依此类推

我试着做一个for循环:

df1 <- c("A1", "A2", "A3")
df1 <- data.frame(df1)
colnames(df1) <- c("location")

df2 <- c(1:40)
df2 <-data.frame(df2)
colnames(df2) <- c("code")

data <- data.frame() #Empty data.frame

for (i in df2) {
  temp <- df1
  temp$code <- rep(i)
  data1 <- rbind(data, temp)
}

df1我们可以使用
aggregate

aggregate(Value ~Location, df1, sum)
aggregate(Value ~Location, cbind(df1, df2), sum)

如果值位于不同的数据集中,并且与原始数据集“位置”中的顺序相同,只需执行
cbind
aggregate

aggregate(Value ~Location, df1, sum)
aggregate(Value ~Location, cbind(df1, df2), sum)
假设每个数据集中没有要合并的公共列

使现代化 根据OP的更新

expand.grid(location = df1$location, code = df2$code)
CJ
来自
数据表

library(data.table)
CJ(location = df1$location, code = df2$code)

你的描述不清楚。您能给出一个小的可重复的示例和预期的输出行
temp$值吗