【问题标题】:Replace list names if they exist替换列表名称(如果存在)
【发布时间】:2022-11-05 00:41:51
【问题描述】:

我有如下示例数据:

# list of data frames:
l = list(a=mtcars, b=mtcars, c=mtcars)

如果列表名称存在于向量list_names_available_for_name_change 中,我想用new_list_names 替换它们。

list_names_available_for_name_change <- c("a", "c")
new_list_names <- c("android", "circus")

我想过做类似的事情:

names(l)[names(l) == "a"] <- "android"

但我想为整个列表执行此操作。就像是:

names(l)[names(l) == list_names_available_for_name_change ] <- new_list_names 

我应该如何编写语法来实现这一点?

期望的输出:

# list of data frames:
l = list(android=mtcars, b=mtcars, circus=mtcars)

【问题讨论】:

    标签: r list


    【解决方案1】:
    nm1 <- new_list_names[match(names(l), list_names_available_for_name_change)]
    i1 <- !is.na(nm1)
    names(l)[nm1[i1]] <- nm1[i1]
    

    【讨论】:

      猜你喜欢
      • 2014-09-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-20
      • 2019-03-31
      • 1970-01-01
      • 2015-05-24
      相关资源
      最近更新 更多