2014-01-27 188 views
0

我正尝试用for循环中的值填充空矢量。但是我遇到了麻烦。请参阅下面的我的代码....无法用for循环填充矢量

i <- c("AL", "AK", "AZ", "AR") 
file <- read.csv("outcome-of-care-measures.csv", colClasses = "character") 
mylist = list() 
for i in unique(file$State){ 
    count = 1 
    file <- file[grep(i[count], file$State),] 
    head(file$State) 
    file[,11] <- as.numeric(file[,11]) 
    head(file) 
    R <- file[order(file[,2], na.last = TRUE),] 
    head(R) 
    Rsub <- R[,c(2,11)] 
    head(Rsub) 
    Rsub2 <- Rsub[order(Rsub[,2], na.last = TRUE),] 
    head(Rsub2,20) 
    Rsub2$Rank <- rank(Rsub2[,2], na.last=TRUE, ties.method="first") 
    Rsub2 <- Rsub2[,-2] 
    head(Rsub2,40) 
    su <- subset(Rsub2, Rsub2$Rank==20) 
    mylist <- su 
    count = count + 1 
} 
} 

我的最终输出从一个变量

> mylist 
        Hospital.Name Rank 
59 D W MCMILLAN MEMORIAL HOSPITAL 20 

可有人点我只值,其中我做错了吗?

感谢

众议员

回答

0

我想通了由自己....

file <- read.csv("outcome-of-care-measures.csv", colClasses = "character") 
data <- data.frame() 
for (i in unique(file$State)){ 
    #count = 1 
    file1 <- file[grep(i, file$State),] 
    head(file1$State) 
    file1[,11] <- as.numeric(file1[,11]) 
    head(file1) 
    R <- file1[order(file1[,2], na.last = TRUE),] 
    head(R) 
    Rsub <- R[,c(2,11)] 
    head(Rsub) 
    Rsub2 <- Rsub[order(Rsub[,2], na.last = TRUE),] 
    head(Rsub2,20) 
    Rsub2$Rank <- rank(Rsub2[,2], na.last=TRUE, ties.method="first") 
    Rsub2 <- Rsub2[,-2] 
    head(Rsub2,40) 
    su <- subset(Rsub2, Rsub2$Rank==20) 
    data <- rbind(data,su) 
}