Re: [問題] R怎麼做多組資料合併? (for迴圈問題)

作者: hohiyan (海洋)   2018-01-07 07:19:39
※ 引述《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
作者: andrew43 (討厭有好心推文後刪文者)   2018-01-07 18:43:00
推薦此經驗談

Links booklink

Contact Us: admin [ a t ] ucptt.com