【发布时间】:2023-03-21 05:48:01
【问题描述】:
我想要一种方法来根据数据帧的存在来计算数据帧上的值
a = data.frame(c('a','b','c','d','f'),
c('a','b','a','b','d'))
colnames(a) = c('let', 'let2')
在这个可重现的示例中,字母“a”出现在第一行和第三行,总共出现了两次。我已经制作了这段代码来计算存在是否为 TRUE 的值,但我希望它自动将其归因于数据框中存在的所有变量:
#for counting the variable a and atribunting the count to the b dataframe
b = data.frame(unique(unique(unlist(a))))
b$count = 0
for(i in 1:nrow(a)){
if(TRUE %in% apply(a[i,], 2, function(x) x %in% 'a') == TRUE){
b$count[1] = b$count[1] + 1
}
}
b$count[1]
[1] 2
问题是我必须为所有变量手动制作,我想要一种自动制作的方法。有办法吗?预期的输出是:
1 a 2
2 b 2
3 c 1
4 d 2
5 f 1
【问题讨论】:
标签: r dataframe apply counting