我尝试使用 for 循环打印出几行。这是代码。
奇怪的是它不适用于 head() 函数。如果我更换它就可以了head()
with 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))
它应该有效。
这些在常见问题解答中讨论7.16 http://cran.r-project.org/doc/FAQ/R-FAQ.html#Why-is-the-output-not-printed-when-I-source_0028_0029-a-file_003f and 7.22 http://cran.r-project.org/doc/FAQ/R-FAQ.html#Why-do-lattice_002ftrellis-graphics-not-work_003f
从评论中删除的附录:
正如 Josh 指出的那样,将 for 循环直接复制+粘贴到控制台也无法打印任何输出。在这种情况下,for 循环(就像 R 中的大多数内容一样)实际上是一个函数,并且它是返回值(NULL
) 不可见地返回,即不打印。 (这在?Control
.)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)