将 for 循环的结果保存为 r 中的向量

2023-11-21

我有以下 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(使用前将#替换为@)

将 for 循环的结果保存为 r 中的向量 的相关文章

随机推荐