我试图使用for循环做两件事:
我在美国的每个州都有个人调查数据集。我想将它们全部合并到美国的单个数据集中,但每个数据集的变量数量不等。因此,我计划为每个状态创建子集化数据帧,然后将它们绑定在一起。
首先,我想在每个状态中创建一个只有状态名称为字符串的变量。一旦我将其绑定到合并的数据框中,这将有助于识别状态。以下是我想要自动化的示例:
vermont$state <- "vermont"
alabama$state <- "alabama"
...
texas$state <- "texas"
我创建了一个可以迭代的每个州的列表:
statenames <- c("alaska", "california", "vermont", ..., "new jersey", "texas")
我正在尝试使用 for循环:
执行此操作for (i in statenames){
i$state <- "i"
}
第二次,我想从每个数据集中提取一组特定的变量到新的数据帧中,然后我可以将它们绑定在一起用于单个数据帧。
我已经从每个数据集创建了一个我想要的变量列表:
variables <- c("population", "size", "income", ..., "education")
我是编程新手,并尽力使用for循环来实现这一目标:
for (i in statenames){
i.sub <- i[variables]
}
当我执行两个 for循环中的每一个时,似乎什么也没发生。没有错误消息。没有变量创建。没有新的数据框创建。
非常感谢任何帮助〜
答案 0 :(得分:0)
Q1
for(i in state.name){
df = data.frame(state = assign(paste(i),i))
assign(paste(i),df)
}
Q2
variables <- c("population", "size", "income")
for(i in state.name){
df = data.frame(state = assign(paste(i),i))
df[variables] = NA
assign(paste(i),df)
}