目的
指定されたデータから、オブジェクトで指定された調和規則に従って、新しい変数を
ds計算します。ds$h1ds$raw1ds$raw2hrule
再現可能な例には、2 つの測定に対する 10 人の個人の応答が含まれていraw1ますraw2。
>ds
id raw1 raw2
1 1 1 1
2 2 1 0
3 3 0 1
4 4 0 0
5 5 NA 1
6 6 NA 0
7 7 1 NA
8 8 0 NA
9 9 NA NA
10 10 1 1
これらの 2 つの変数は、(定性的に開発された) 何らかの規則に従って、単一の調和した変数に変換する必要があります。調和変換の規則は、オブジェクトにエンコードされていますhrule。
>hrule
raw1 raw2 h1
1 0 0 0
2 0 1 1
3 0 NA 0
4 1 0 1
5 1 1 1
6 1 NA 1
7 NA 0 0
8 NA 1 1
9 NA NA NA
したがって、ルールは行 1 に対して次のように読み取られる必要があります。
回答者が on の値と on の値を提供した場合、の値
0はになります。raw10raw2h10
機能目標
、 、変数名を文字ベクトル( )、調和変数名( )に渡し
ds、新しい調和変数( )を出力する関数を作成します。hrulec("raw1","raw2")"h1"ds$h1
スターター コード
(ds <- data.frame("id" = 1:10,
"raw1" = c(1,1,0,0,NA,NA,1 ,0 ,NA,1),
"raw2" = c(1,0,1,0,1 ,0 ,NA,NA,NA,1)))
(response_profile <- ds %>% dplyr::group_by(raw1, raw2) %>% dplyr::summarize(count=n()))
(hrule <- cbind(response_profile, "h1" = c(0,1,0,1,1,1,0,1,NA)))
new_function <- function(ds, hrule,
variable_names, # variable_names = c("raw1,"raw2"), the number will vary
harmony_name # harmony_name = "h1", there might be "h2"
){
}
あなたのアイデアを前もってありがとう!