找回密码
 立即注册
查看: 5270|回复: 1

新手求解

[复制链接]
发表于 2015-10-20 16:35:38 | 显示全部楼层 |阅读模式
《R语言实战》中有如下函数:
table2flat <- function(mytable) {
    df <- as.data.frame(mytable)
    rows <- dim(df)[1]
    cols <- dim(df)[2]
    x <- NULL
    for (i in 1:rows) {
        for (j in 1:df$Freq[i]) {
            row <- df[i, c(1cols - 1))]
            x <- rbind(x, row)
        }
    }
    row.names(x) <- c(1:dim(x)[1])
    return(x)
}


测试输入:
treatment <- rep(c("lacebo", "Treated"), 3)
improved <- rep(c("None", "Some", "Marked"), each = 2)
Freq <- c(29, 13, 7, 7, 7, 21)
mytable <- as.data.frame(cbind(treatment, improved, Freq))
mydata <- table2flat(mytable)


问题:
for (j in 1:df$Freq[i]){}
这个循环执行次数不是我理解的根据Freq <- c(29, 13, 7, 7, 7, 21)随着外层循环分别执行29, 13, 7, 7, 7, 21次?
实际发现当i为1时,这个循环只执行了3次
回复

使用道具 举报

 楼主| 发表于 2015-10-21 15:15:16 | 显示全部楼层
已解决,这里人太少了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|R语言中文网

GMT+8, 2024-11-23 18:27 , Processed in 0.029007 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表