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/

相关文章:

java - 字符串中第N个出现的字符并获取值

r - 在每个方面更改选项

R - dplyr - 按列分组,如果给定组只存在 NA,则计算保留 NA 的总和

r - 如何访问 `geom_text`中 `ggplot2`绘制的标签的尺寸?

postgresql - 如何使用PostgreSQL计算一列中有多少个条目是数字

mysql - 如何计算sql中的项目数

r - 在矩阵的上限范围内逐行计数 N 次出现

linux - 找到出现的次数并将其添加到模式旁边

r - 匹配单词串并返回不匹配的单词

mysql - SQL连续出现的基于可用性的查询