所以我有50个变量值,范围从1到4,我想要计算1到2的数量,以及3或4中的数量。
即。 abc1 = 2,abc2 = 2,... abc50 = 3
以下是我的代码
#Create new variable to store the counted number to
abc.low=0
abc.high=0
这是我坚持的代码(它没有工作)
for (i in 1:50){
ifelse (paste("abc",i,sep="")==1|paste("abc",i,sep="")==2,
(abc.low<-abc.low<-1),(abc.low<-abc.low))
}
for (i in 1:50){
ifelse (paste("abc",i,sep="")==3|paste("abc",i,sep="")==4,
(abc.high<-abc.high<-1),(abc.high<-abc.high))
}
我假设粘贴功能不适合我想要做的事情。
即)
abc1=3
abc1==3
#True
paste("abc",1,sep="")==3
# False
其中粘贴函数应该为我的目的返回true。
感谢您的投入!
答案 0 :(得分:3)
试试这个例子:
table(unlist(mget(paste0('abc',1:50))))
mget
创建一个变量列表,unlist
将其变换为向量。 table
给出了每个值的出现,例如:
1 2 3 4
14 13 13 10
答案 1 :(得分:1)
这将对您有所帮助:
groups = rbinom(32, n = 50, prob = 0.4)
tapply(groups, groups, length)
以上tapply函数返回组中元素的数量