R中的子集函数不适用于矢量选择

时间:2014-03-03 16:34:55

标签: r subset

我有这个奇怪的问题,我的代码中有这样的东西:

#(2,1,6,3)
states.vector <- unique(data$state)

我正在迭代向量,以获取“状态”列中每个值的子集数据。在某些时候,通过我的迭代,下面的代码行给了我一个空的数据框:

#When state == 1
data.state <- subset(data,state==states.vector[state])

如果state = = 1,则表示states.vector [state] == 2.但是当我执行以下操作时,它的工作正常:

subset(data,state==2)

奇怪的是,我多次使用这个过程,并且它对于完全相同的任务工作正常,具有相同的“数据”格式,但内部有一些不同的值。

我做错了什么?

1 个答案:

答案 0 :(得分:0)

我认为jlhoward已经解释了问题所在。

为什么不使用类似以下代码行的内容来遍历您的状态?

states.vector <- unique(data$state)

for (selected_state in states.vector) {
  data.state <- subset(data,state==selected_state)
  #...
}