在R中重复2次或以上的变量数
我有两种形式的数据:一种是列表,即r,另一种是数据框,即df。对于每种形式的数据,我如何知道重复2次或更多次的变量数量?在下面的示例中,我期望的输出是:AA 3次,BB 2次,CC 2次 注:无论数据的形式如何,答案都应相同在R中重复2次或以上的变量数,r,list,function,loops,dataframe,R,List,Function,Loops,Dataframe,我有两种形式的数据:一种是列表,即r,另一种是数据框,即df。对于每种形式的数据,我如何知道重复2次或更多次的变量数量?在下面的示例中,我期望的输出是:AA 3次,BB 2次,CC 2次 注:无论数据的形式如何,答案都应相同 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)), # LIST data.frame( AA = c(1,NA,3,1,NA,
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)), # LIST
data.frame( AA = c(1,NA,3,1,NA,NA), DD = 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)) )
df <- do.call(cbind, r) ## DATA.FRAME
我们可以在数据集的名称上创建>=2的频率计数
tbl <- table(names(df))
tbl1 <- tbl[tbl >=2]
tbl1
# AA BB CC
# 3 2 2
lapply(r, function(x) table(names(x)[names(x) %in% names(tbl1)]))
如果我们需要另一个答案
vec <- names(unlist(r, recursive = FALSE))
nm1 <- unique(vec[duplicated(vec)])
lapply(r, function(x) table(names(x)[names(x) %in% nm1]))
@如果是那样的话,就容易多了。更新后的R:TBL @ RNROUZIN不是基于DF的,只是根据您以前的问题,我们不应该考虑R?@ RNROUZIAN的建议是什么?lmo@rnorouzian在此之后,tbl[tbl>=2]