【发布时间】:2019-04-06 04:14:18
【问题描述】:
我的数据集由每个州的教育数据组成。我想创建一个循环,为包含原始数据集中所有列的每个状态创建数据框。一个主键的示例是 1992_ALABAMA。我想为阿拉巴马州提供一个结合所有年份的数据框,并为每个州重复此操作,而无需手动创建每个数据框。
我尝试创建一个循环来获取所有级别的状态因素列,并为每一列分配该特定因素的相关行。
# this is how I did this manually for Alabama:
alabama <- data[which(data$STATE == "ALABAMA"),]
# this is the loop I am trying to use. stLevels is a character vector
# containing all of the levels of the state factor column.
for (i in stLevels) {
i <- data[which(data$STATE == i),]
}
我希望有 80 个数据帧由它们的相应状态命名,其中包含所述状态的所有观察结果。发生的情况是创建了一个名为“i”的数据框,其中包含所有包含怀俄明州的行。它没有正确命名,其他任何州都没有发生这种情况。
【问题讨论】:
-
你想做的只是
all_states <- split(data,data$STATE)。您不希望它们在单独的数据框中,命名列表会更容易使用。 -
这是有道理的。感谢您的帮助。
标签: r