【问题标题】:removing suffixes from variable names inside a list in R从R中列表中的变量名中删除后缀
【发布时间】:2020-02-13 19:46:47
【问题描述】:

使用 BASE R,我想知道如何在下面的 G 中从变量中删除 ..number 后缀(例如,short..3 变为 short)?

G <- list(AA = list(short..3 = data.frame(dint = 5:7, SD = 0:2), 
                    short..2 = NULL, 
                    del1 = data.frame(dint = 1:3, SD = 2:4), 
                    del1..2 = NULL, del2 = NULL), 
          BB = list(short = data.frame(dint = 1:4, SD = 2:5), 
                    short..2 = NULL, 
                    del1..4 = data.frame(dint = 5:6, SD = 3:4), 
                    del1..2 = NULL, 
                    del2 = data.frame(dint = 6, SD = 1)))

【问题讨论】:

  • 可能适当地使用gsub()。如果删除所有后缀,您是否会有重复的名称?

标签: r regex list function dataframe


【解决方案1】:
for (i in seq_along(G)) {
  names(G[[i]]) <- gsub("(.*)\\.\\.\\d*", "\\1", names(G[[i]]))
}

lapply(G, function(i) setNames(i, gsub("(.*)\\.\\.\\d*", "\\1", names(i))))

【讨论】:

  • 如果你的number(在..number)只是一个数字整数(如你的例子),你不需要*\\d之后
猜你喜欢
  • 1970-01-01
  • 2018-02-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-06-03
  • 1970-01-01
  • 2023-04-04
相关资源
最近更新 更多