问答详情
源自:3-1 .循环和控制流-新版

循环中的问题(视频1分35秒)

> d <- data.frame(a = 1:3, b = 3:8)

> for (x in d) {

+     cat("column sum:", sum(x),"\n")

+ }

column sum: 12 

column sum: 33 


这个函数我理解是为每一行加和,第一行应该是 sum(1:3)=6,不应该是12啊。。。

提问者:慕用3301853 2018-08-23 22:13

个回答

  • 是木头呀
    2018-10-05 14:33:41

    d中a与b的长度不同,b的长度是a的两倍,R自动将a循环,变为1,2,3,1,2,3。

    > d <- data.frame(a = 1:3, b = 3:8)> for (x in d) {+   cat("column sum:", sum(x),"\n")+   }column sum: 12 
    column sum: 33 
    > d  a b
    1 1 3
    2 2 4
    3 3 5
    4 1 6
    5 2 7
    6 3 8

    所以第一列加和为1+2+3+1+2+3=12