我有以下 for 循环,它打印从 1 到 10 的数字:
for (i in 1:10) {print (i) }
如何将结果保存为向量,而不是仅仅将其打印到控制台?
如果我尝试:
my_vector <- for (i in 1:10) {print (i) }
然后打电话my_vector
, I get:
NULL
Calling print
将始终将每次迭代的结果打印到控制台。如果您离开print
命令,那么您可能会得到不需要的输出。
你的主要问题是你没有初始化my_vector
之前for
环形。您可以执行以下操作而不得到print
副作用。
my_vector <- vector("numeric", 10L)
for(i in 1:10) my_vector[i] <- i
my_vector
# [1] 1 2 3 4 5 6 7 8 9 10
但请注意,这与执行以下操作相同sapply
,但在这种情况下,您不需要声明,并且可以将结果分配给向量。
my_vector2 <- sapply(1:10, function(x) x)
my_vector2
# [1] 1 2 3 4 5 6 7 8 9 10
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)