在R中打印for循环中的列数

时间:2016-07-03 01:13:41

标签: r for-loop

我可能有一个最愚蠢的问题,所以请耐心等待。我想了解R中for循环的逻辑如何。

  df = matrix(c(1,2,3,4,5,6,7,8,9),3,3) #create a 3x3 matrix

  for ( i in 1:ncol(df)){
       print(i)
   }

#  [1] 1
#  [1] 2
#  [1] 3

为什么只打印第一列结果,不应该打印所有列元素如下:

#  [1] 1 
#  [1] 2
#  [1] 3
#  [2] 4 
#  [2] 5
#  [2] 6
#  [3] 7 
#  [3] 8
#  [3] 9

感谢您的帮助,请将您的答案保持在虚拟水平。

1 个答案:

答案 0 :(得分:0)

那么,除了错字......你应该知道ncol(df) = 3,对吧?所以当你使用循环时:

for ( i in 1:ncol(df))

i只会是1,2,3。

你......对[1]感到困惑吗?这标志着print的第一行,并不代表矩阵的第一列。也许你应该尝试更随机的矩阵:

df <- matrix(runif(9), 3, 3)

然后您不会将打印的数字与矩阵元素相关联。