我尝试使用 for 循环打印出几行。这是代码。
奇怪的是它不适用于 head() 函数。如果我将 head()
替换为 print()
,它会起作用。
kw_id=c('a','b')
keyword_text=data.frame(col=c('a','b'), col2=c(1,2), row.names=(c('r1','r2')))
for (i in 1:2) {
plot_data<-subset(keyword_text,col==kw_id[i])
print(plot_data)
head(plot_data)
}
有人可以帮忙吗?我怀疑它与 head()
函数有关。
最佳答案
这是 R 新手遇到的一类相对常见的问题。这里的问题是 R 服务于两个情妇:交互式控制台工作和“真正的编程”。
当您在控制台键入返回值的命令时,控制台自动调用打印方法以显示结果。运行脚本时,除非您告诉它,否则不会发生这种情况。
因此,如果您将其更改为 print(head(plot_data))
,它应该可以工作。
从评论中提取的附录:
正如 Josh 指出的那样,将 for 循环直接复制并粘贴到控制台也无法打印任何输出。在这种情况下发生的事情是 for 循环(就像 R 中的大多数内容一样)实际上是一个函数,并且它的返回值 (NULL
) 是不可见的,这意味着不打印。 (这在 ?Control
中提到。)
关于r - head() 函数在 'for' 循环中不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14987743/