全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
20963 19
2013-12-25
有一个数据表如下。如何统计C3这个题目的频次或百分比?
C3_1,C3_2,C3_3,C3_4表示C3是一个多选题,且有4个选项。单元格中的0表示未选中,1表示选中。
希望得到的table格式为:(也就是C3的4个选项,被选中的频次,且和Age交叉)
  Age
C3   1  2  3
  1 59 73 54
  2 57 69 61
  3 61 81 77
  4 65 68 66


原始数据如下:
GenderAgeHageC1C2C3_1C3_2C3_3C3_4

2

2

28

4

2

1

0

0

1

1

2

28

3

7

1

1

1

0

2

2

29

1

1

0

0

1

0

2

2

21

4

1

0

1

1

1

2

1

13

4

1

0

1

1

1

1

2

24

2

3

1

0

1

0

1

3

42

5

3

0

1

1

1

2

3

30

4

4

1

1

0

1

2

2

21

5

6

0

0

0

0

2

3

39

2

5

0

0

1

1



谢谢
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2013-12-25 19:31:37
没人知道吗?感觉挺常用的啊
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-12-25 19:51:37
假设你的原始数据放在data的对象中。。
data1<-data[,c(2,5,6,7,8)]  #提取age,c1~c4的数据框
用reshape包里面的melt函数。
data2<-melt(data1,id=('age'))   #得到的data2是一个有3列的数据框
data3<-data2[which(data2[,3]==1),]
table(data3)
这里关键是melt的函数,你可以看看《R语言实战》中文版的,5.6部分。有比较详细解释。
这只是一个针对你题目的方法。。如果在工作中常用的,人们应该会自己编写一个函数去求出的。。
初学的,如果不正确的地方,请见谅。。。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-12-25 20:00:45
复制代码
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-12-25 20:02:22
yywan0913 发表于 2013-12-25 20:00
擦      傻逼了   路径都写了   
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-12-25 20:25:47
CRouGD 发表于 2013-12-25 19:51
假设你的原始数据放在data的对象中。。
data1
melt 果然好    跟merge 差不多了    不过这两个函数我都用不好,唉
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群