作者hohiyan (海洋)
看板R_Language
标题Re: [问题] R怎麽做多组资料合并? (for回圈问题)
时间Sun Jan 7 07:19:39 2018
※ 引述《askpeople (就是要问!!!)》之铭言:
: [软体程式类别]:R
: [程式问题]:for回圈不知道怎麽写比较好?
: [软体熟悉度]:新手
: [问题叙述]:
: 我想问的是: 如果希望整栏的资料做多次合并,有办法用回圈写吗?
: 现在有一个问卷资料,题项有22栏,是由7个系共185位同学填写
: 资料形态如下:
: https://imgur.com/a/6gJdq
: (每个题项一共有185笔资料、共23个题项、7个系的同学填答)
: 这题是复选题,我必须要统计出每个系回答题项的数目分布
: 1.要第1栏 (系所) + 第2栏 (题项1) = 1组资料
: 以此类推...一共有22组资料
: 2.将22组资料合并,就可以统计出每个系的题项分布,於是我用图法炼钢方式写了如 (1)
: 但重点来了,我要问的就是: 有办法用回圈写吗? 但我用for回圈写如下面 (2),
: 因为没写过整组资料的合并,不知道问题出在那? 可以帮我看一下吗?
【以下引言恕删】
这边讲的跟R无关,但跟问卷资料coding有关。如果版主觉得偏离版旨可以删文没关系 XD
在研究怎麽用R处理资料之前,可能要先厘清这个问卷的设计
从你的撷图来看,这应该是一个
A. 复选题
B. 有22个子题
C. 有N个选项供受访者选择(依你的描述,N≧22)
D. 1~22个子题(可能)依序表示受访者认为每个选项的重要程度
E. 受访者最少只需要选择一个选项(所以有些资料只有题项1有内容)
以复选题来说,这并不是一个好的coding方式,会造成後续分析上很多的问题
如果还来得及的话,看原po是不是要重新整理一下资料
例如:
假设在这个复选题下共有22个选项,
把所有的选项都当成一个栏位(column),总共至少就有1(系所)+22(选项)=23个栏位
(虽然应该还要有一个case_id栏位比较好)
丢到R里的话资料就会是一个 185*23 的dataframe
在选项的值的编码方面,如果要保留选项被受访者选择的先後次序
值的范围可以是0~22
0表示该选项未被选取(或直接coding成NA)
1~22表示被选取的先後次序(如果不考虑先後次序,那就有选取的都是1就好了)
这样就可以很直接的产生以下资料:
A. 每个选项被全部受访者选取的次数(% of none-zero values)
B. 每个选项被受访者当成第几顺位选取的比例
加上group_by系所之後就可以得到原po需要的资料了(如果我没会错意的话…)
上面这些跟量化研究方法跟问卷设计有关,但跟R没有直接的关系就是了 XD
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 149.159.2.202
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/R_Language/M.1515280783.A.85F.html
※ 编辑: hohiyan (149.159.2.202), 01/07/2018 07:29:25
1F:推 andrew43: 推荐此经验谈 01/07 18:43