如何以向量形式保存for循环的输出

时间:2019-10-14 15:56:08

标签: r

n <- as.numeric(n)
b <- c()
for (i in 2:(n-1))
{ 
  a <-   (n%%i) 
  if (a==0) {
   b <-  print(i)
  }

}

输出

 n <- readline(prompt = "Enter the value of n:")
Enter the value of n:10

> n <- as.numeric(n)

> b <- c()

> for (i in 2:(n-1))
+ { 
+   a <-   (n%%i) 
+   if (a==0) {
+    b <-  print(i)
+   }
+   
+ }
[1] 2
[1] 5

我希望我的输出为矢量形式。我不确定该怎么办。我尝试了在其他答案中看到的这种方法,但无法成功。

2 个答案:

答案 0 :(得分:3)

如果要将结果存储在b向量中,请尝试以下示例:

n <- 10
b <- c()

for (i in 2:(n-1)){ 
  a <-   (n%%i) 
  if (a==0) {
    b <- c(b, i)
  }
}

答案 1 :(得分:1)

编辑:(先前的代码未完全回答您的问题)

您还可以(ab)利用ggplot(all, aes(fill=Impact, y=Variants, x=Number.of.dogs, label = Variants)) + geom_bar(stat="identity") + geom_text(size = 3, position = position_stack(vjust = 0.5)) 作为大多数基本函数的事实是%%

Vectorized