我有一个名为“met”的682 * 1矩阵,前5行类似于:
> rownames(met)[1:5]
[1] "glycine_imp"
[2] "Nacetylglycine_imp"
[3] "sarcosine_imp"
[4] "dimethylglycine_imp"
[5] "betaine_imp"
我在R中有一个函数,每次使用“met”矩阵的行名称之一并创建一个新的目标文件,我应该保存对象!
my function is
prep[i]<- Scores(Z=GT,formula="met[i]~egfr_v1_ckdepi+pc1+pc2+pc3+V1AGE01+GENDER")
每次我应该更改met [i]并将其替换为“met”矩阵的行名称(逐个),并且对于每个我应该更改函数的名称,之后我应该保存每个对象!
例如对于第一行“met”,我有“glycine_imp”
> **prep1**<- Scores (Z=GT,formula="**glycine_imp**~egfr_v1_ckdepi+pc1+pc2+pc3+V1AGE01+GENDER")
#creat the object file for first row and called prep1###
> save(prep1, file="prep1.RData", compress="bzip2")
##save the object file as "prep1.RData"#####
我应该为682行“met”矩阵的行名称执行此过程,最后我应该有 “prep1.RData”,“prep2.RData”,“prep3.RData”
我使用循环功能,但它有不同的错误!! 你能问我该怎么办?
非常感谢
答案 0 :(得分:1)
我不知道你的功能细节,所以我只能提供一个广泛的想法。
A <- matrix(1:10, ncol = 5)
Scores <- function(x){return(x+1)}
for(i in 1:10){
df <- data.frame(tmp = 1)
name <- paste("prep", as.character(i), sep = "")
df[[name]]=Scores(A)
save(file = paste("prep", as.character("i"), ".RData", sep = ""), df[[name]],
compress = "bzip2")
}
这有用吗?