在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]]))
来生成正确的输出。但是,我想知道为什么第一种方法不起作用。