setnames() 在 R 的 list 对象中

setnames() in a list object in R

提问人:Seyma Kalay 提问时间:5/8/2023 更新时间:5/8/2023 访问量:71

问:

我在下面有一个列表对象,我需要为每个列表对象分配一个特定的名称,例如,如果对象在 中,则在 DF.10 中。提前非常感谢。1stmy.listDF.110th

df1 <- data_frame(ID = paste0(LETTERS[1],1:4), valueA = seq(0.1,0.4,0.1), Category= "Apples", valueDEF = seq(0.1,0.4,0.1), valueDEF2 = seq(0.1,0.4,0.1) )
    df2 <- data_frame(ID = paste0(LETTERS[1],5:8), valueB = seq(0.1,0.4,0.1),  Category= "Apples2")
    df3 <- data_frame(ID = paste0(LETTERS[1],9:12), valueC = seq(0.1,0.4,0.1),  Category= "Apples3")
    
    my.list  <- list(df1, df2, df3);my.list 
    
    for(i in 1:length(my.list)){
      my.list[[i]] <-  paste("DF", i, sep = ".")
      #names(my.list) <- setNames(my.list , c('list1', 'list2', 'list3')) ### in forloop 
    }

预期答案

 names(my.list) 
DF.1, DF.2, DF.3
r dplyr tidyr 数据操作 整洁

评论


答:

1赞 TarJae 5/8/2023 #1

我们可以将(创建名称)与(将名称分配给列表)组合:pastesetNames

names(my.list) <- paste0("DF.", 1:length(my.list))

names(my.list)
[1] "DF.1" "DF.2" "DF.3"