【发布时间】:2016-08-11 00:02:27
【问题描述】:
目标
我正在尝试使用 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"
}
问题 2
第二,我想从每个数据集中提取一组特定的变量到新的数据帧中,然后我可以将它们绑定在一起形成一个数据帧。
我已经从每个数据集中创建了一个我想要的变量列表:
variables <- c("population", "size", "income", ..., "education")
我是编程新手,并尽力使用 for 循环来完成此操作:
for (i in statenames){
i.sub <- i[variables]
}
当我执行两个 for 循环中的每一个 时,似乎什么都没有发生。没有错误信息。没有变量创建。没有新的数据框创建。
任何帮助将不胜感激~
【问题讨论】:
-
你的预期输出是什么