从矩阵中读取变量,并将其用于R中的函数中?

6ie5vjzr  于 2023-06-19  发布在  其他
关注(0)|答案(1)|浏览(86)

我有一个682*1的矩阵叫做“met”,前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行名称的“会见”矩阵和结束时,我应该有
“prep1.RData”,“prep2.RData”,“prep3.RData”
我使用循环函数,但它有不同的错误!你能告诉我我该怎么办?

whlutmcx

whlutmcx1#

我不知道你的功能的细节,所以我只能提供一个大致的概念。

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")
}

这样行吗

相关问题