【问题标题】:Names of variables repeated 2 or more times in a list of data.frames in R在 R 中的 data.frames 列表中重复 2 次或更多次的变量名称
【发布时间】:2019-10-06 06:20:09
【问题描述】:

一般来说,在data.frames 的list 中(例如下面),我想知道如何获得重复 2 次或更多次的变量的名称(在此示例中,名称将是 "AA""BB""CC")跨越 data.frames?

r <- list( data.frame( AA = c(2,2,1,1,NA, NA), BB = c(1,1,1,2,2,NA), CC = c(1:5, NA)),

        data.frame( AA = c(1,NA,3,1,NA,NA), BB = c(1,1,1,2,NA,NA)),

        data.frame( AA = c(1,NA,3,1,NA,NA), BB = c(1,1,1,2,2,NA), CC = c(0:4, NA)) )

【问题讨论】:

  • 在名称向量上使用duplicated

标签: r list function loops dataframe


【解决方案1】:

你可以:

  1. unlist 获取所有列名作为单个向量的列表,
  2. 使用 duplicated 检查向量中的 (unique) 重复名称。
## get names
vec <- names(unlist(r, recursive = FALSE))

## return duplicates
unique(vec[duplicated(vec)])
#> [1] "AA" "BB" "CC"

【讨论】:

  • 跟进,是否也可以知道重复 2 次或更多次的变量的 数量(在上面的示例中,我想要的输出是:AA 3 times , BB 3 times, CC 2 times)?
  • @rnorouzian: table(vec) 给出每个变量的计数。
猜你喜欢
  • 1970-01-01
  • 2021-03-31
  • 1970-01-01
  • 2021-08-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-05-15
  • 1970-01-01
相关资源
最近更新 更多