以下是数据框:
GENDER PROMOTE
M 1
M 0
M 2
F 1
M 0
F 2
F 1
F 1
M 2
F 0
F 2
F 1
M =男性; F =女性
现在我必须找出
的女性人数(a)PROMOTE == 0; (b)PROMOTE == 1; (c)PROMOTE == 2
data <- read.table("sum.txt",header=TRUE)
data
s1=0;s2=0;s3=0
for(i in 1:12){
if(data$GENDER[i]==F & data$PROMOTE[i]==0){
s1=s1+1
} else if (data$GENDER[i]==F & data$PROMOTE[i]==1){
s2=s2+1
} else if (data$GENDER[i]==F & data$PROMOTE[i]==2){
s3=s3+1
}}
但s1,s2,s3尚未修改。那些有他们的初始价值。也没有发生任何错误。
这里的问题是什么?以及计算任务的替代方法。
答案 0 :(得分:0)
使用plyr
:
ddply(data[data$GENDER=='F',], .(GENDER),count)
得到:
GENDER PROMOTE freq
1 F 0 1
2 F 1 4
3 F 2 2
这是你在找什么?