【发布时间】:2019-01-30 18:43:53
【问题描述】:
我正在尝试自学 R 并尝试使用 for 循环,这是任何命令式语言的基本构造。
一开始,我使用了一个 for 循环来增加一个变量任意次数:
x = 0
for (i in 1:1000) {
x = x + 1
}
这按预期工作。但是,当我尝试在此循环中paste 一条简单消息时,我没有得到任何输出。具体来说:
for (i in 1:1000) {
paste('Hello world!')
}
这是为什么?
【问题讨论】:
-
paste用于连接字符串,使用print -
为什么
paste在循环之外工作呢? -
命令
"Hello world!"也会给你同样的结果——它最终调用了 print 方法。使用单个参数调用paste是毫无意义的。 -
R中通常会避免循环。使用apply系列函数,或dplyr中的map。 -
谢谢@hmhensen。我是 R 新手,仍然不熟悉约定。