gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 17:00:23 28 4
gpt4 key购买 nike

假设我有一个包含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/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com