我尝试使用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)
}
Run Code Online (Sandbox Code Playgroud)
有人可以帮忙吗?我怀疑它与head()功能有关.
jor*_*ran 12
这是R的新手遇到的一类相对常见的问题.这里的问题是R服务于两个情妇:交互式控制台工作和"真正的编程".
在控制台上键入返回值的命令时,控制台会自动调用print方法以显示结果.运行脚本时,除非您告诉它,否则不会发生这种情况.
所以,如果你改变print(head(plot_data))它应该工作.
附录取消了补遗:
正如Josh指出的那样,将for循环直接复制+粘贴到控制台也无法打印任何输出.在这种情况下发生的是for循环(就像R中的大多数东西)实际上是一个函数,它的返回值(NULL)是不可见的,这意味着没有打印.(这在?Control.中提到.)