r - 计算R中的一组变量中值的出现次数(每行)

标签 r count find-occurrences

假设我有一个包含10个数字变量V1-V10(列)和多行(例)的数据框。

我希望R做的是:对于每种情况,请给我一组变量中某个值出现的次数。

例如,在V2,V3,V6的那一行中数值99的出现次数,显然它的最小值为0(三个值都不为99),最大值为3(三个值都为值99)。

我真的在寻找与the SPSS function COUNT 等效的方法:“COUNT 创建一个数字变量,对于每种情况,该变量都会对变量列表中相同值(或值列表)的出现进行计数。

我考虑过table()和库plyr的count(),但是我真的无法弄清楚。首选矢量化计算。非常感谢!

最佳答案

尝试

apply(df,MARGIN=1,table)

其中df是您的data.frame。这将返回与data.frame中行数相同长度的列表。列表的每个项目对应于data.frame的一行(以相同顺序),并且是一个表,其中的内容是出现的次数,名称是相应的值。

例如:
df=data.frame(V1=c(10,20,10,20),V2=c(20,30,20,30),V3=c(20,10,20,10))
#create a data.frame containing some data
df #show the data.frame
  V1 V2 V3
1 10 20 20
2 20 30 10
3 10 20 20
4 20 30 10
apply(df,MARGIN=1,table) #apply the function table on each row (MARGIN=1)
[[1]]

10 20 
 1  2 

[[2]]

10 20 30 
 1  1  1 

[[3]]

10 20 
 1  2 

[[4]]

10 20 30 
 1  1  1 

#desired result

关于r - 计算R中的一组变量中值的出现次数(每行),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24015557/

相关文章:

php - 计算对象数组的列中某个值的出现次数

r - SQL 查询列表内的数据框

mysql - 关于SQL View,我有一些困惑

python - 如何使用差距统计找到层次聚类中的最佳聚类数?

R计算每年超标的天数

MySQL 长查询的行计数

c++ - 检查数字中单个数字的出现次数是否相同

java - 如何打印数组中出现的所有最大的两个整数?

java - 在java中读取.csv文件: missing few rows

r - 通过使用assign和paste0在循环中调用变量