我可能有一个最愚蠢的问题,所以请耐心等待。我想了解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
感谢您的帮助,请将您的答案保持在虚拟水平。
答案 0 :(得分:0)
那么,除了错字......你应该知道ncol(df) = 3
,对吧?所以当你使用循环时:
for ( i in 1:ncol(df))
i
只会是1,2,3。
你......对[1]
感到困惑吗?这标志着print
的第一行,并不代表矩阵的第一列。也许你应该尝试更随机的矩阵:
df <- matrix(runif(9), 3, 3)
然后您不会将打印的数字与矩阵元素相关联。