分享
三行代码  ›  专栏  ›  技术社区  ›  Paulo Cecco

使用for循环分配多个向量数组并在r中分配 - Assign multiple array of vectors using for-loop and assign in R

  •  0
  • Paulo Cecco  · 技术社区  · 1 周前

    我想知道使用 for-loop .
    总体思路是:

    1. 向量名
    2. 矢量值
    3. 从每1中的2分配每个值

    作为和例子 我试过了:

    Names <- c('Arnold','Jhon' ,'Jim','Jason')`  
    Surnames <- c('Palmer','Kramer' ,'Carrey','Momoa')`    
    for (Name in Names){
        for (Surname in Surname){
          Name <- Surname
       }
    }
    

    我期望的是从chracter字符串中的每个值创建多个名为的向量 Names 每一个新的个体向量都被赋予了 Surnames . 这就像:

    >Arnold
    [1] "Palmer"
    >Jhon
    [1] "Kramer"
    

    当然这是行不通的,我一直在网上广泛搜索,虽然有类似的结果,有一个,经过一些修改,显然可以应用到我的模型。因此,如果你知道任何其他张贴的问题或任何解决方案,我将非常高兴与你在一起。

    2 回复  |  直到 1 周前
        1
  •  2
  •   MatthewR    1 周前

    我想你的循环有问题-我编辑了,所以你是通过一个数字向量循环。另外我想你要找的功能是 assign

    Names <- c('Arnold','Jhon' ,'Jim','Jason')
    Surnames <- c('Palmer','Kramer' ,'Carrey','Momoa')
    for( i in 1:length( Names) ){
    
          assign( Names[i] , Surnames[i] )
    
    }
    
    Arnold
    
        2
  •  0
  •   Orlando Sabogal    1 周前

    可以创建data.frame,然后使用 附件() 功能

    Names <- c('Arnold','Jhon' ,'Jim','Jason')  
    Surnames <- c('Palmer','Kramer' ,'Carrey','Momoa')
    
    MyData <- rep(0,length(Names))
    dim(MyData) <- c(1,length(Names))
    MyData <- as.data.frame(MyData)
    
    names(MyData) <- Names
    MyData[1,] <- Surnames
    
    attach(MyData) #This is the key
    Arnold
    Jhon
    Jim
    Jason