在 R 中,我想迭代一个公式对象。R 自动将公式转换为解析树,所以我看不出为什么我不能迭代。
例如,f <- ~x + y
有元素f[[1]] = ~
和f[[2]] = x + y
. 但是,for(v in f) print(toString(v))
不输出
[1] "~"
[1] "+, x, y"
正如我所期望的那样。相反,它给出了错误invalid for() loop sequence
。
如果我需要手动完成,我总是可以使用for(i in 1:length(f)) print(toString(f[[i]]))
产生正确输出的。但是,我想知道为什么第一种方法不起作用。