我是R新手,我似乎无法得到这个:我想通过计算特定值的出现来计算数据帧中的因子(在这种情况下,值为“是”)。还有很多N / A,如下:
电流:
Agg Factor1 Factor2 Factor3
A1 Yes Yes Yes
A1 Yes Yes No
A1 Yes N/A No
A1 N/A No N/A
A2 Yes Yes No
A2 N/A Yes N/A
A2 No N/A N/A
期望的结果:
Agg F1 F2 F3
A1 3 2 1
A2 1 2 0
理想情况下,我想答案是基础R,因为我正在努力学习......当然,如果有一个更简单的解决方案使用包,我也会感兴趣。
数据
dd <- read.table(header = TRUE, na.strings = "N/A", text =
"Agg Factor1 Factor2 Factor3
A1 Yes Yes Yes
A1 Yes Yes No
A1 Yes N/A No
A1 N/A No N/A
A2 Yes Yes No
A2 No Yes N/A
A2 N/A No N/A")
答案 0 :(得分:0)
根据因子对标签进行比较,因此无论因子列是因子还是字符串,这都会有效:
aggregate(dd[-1L]=='Yes',dd[1L],sum,na.rm=T);
## Agg Factor1 Factor2 Factor3
## 1 A1 3 2 1
## 2 A2 1 2 0