我有以下数据结构:群组中的人员会议。这些小组的会面次数不同,每次会议的小组成员人数也各不相同。
$ GroupID : chr "1" "1" "1" "1" ...
$ groupnames : chr "A&M" "A&M" "A&M" "A&M" ...
$ MeetiID : chr "1" "1" "2" "2" ...
$ Date_Meetings : chr "43293" "43293" "43298" "43298" ...
$ PersonID : num 171 185 171 185 185 113 135 113 135 113 ...
$ v_165 : chr "3" "3" "4" "3" ...
$ v_166 : chr "2" "2" "3" "3" ...
$ v_167 : chr "2" "4" "4" "3" ...
$ v_168 : chr "6" "7" "4" "5" ...
$ problemtypes_categories: chr "Knowledgeproblem" "Knowledgeproblem" "Motivationalproblem" "Coordinationproblem" ...
$ v_165_dicho : num 0 0 0 0 1 1 1 0 0 1 ...
$ v_166_dicho : num 0 0 0 0 0 0 0 0 0 0 ...
$ v_167_dicho : num 0 0 0 0 1 1 0 0 0 0 ...
现在我必须创建一个名为agreement_levels的二进制(0/1)新变量。因此,每次,一组中的某个人 - 在相同的学习会议 - 与同一会议中同一组的其他学习者相同的问题类型类别,两个学习者(或三个或四个,取决于相应会议的小组大小)应该在协议变量中得到值1,否则它们都应该得到0.每当一个人(例如,在四个学习者中)已经有一个不同类别的问题而不是其他人时,有一个0所有的协议变量。如果同一会议的数据集中只有1人,则必须同意NA。但是,如果一个人在问题类型变量中具有NA,并且同一会议的数据集中有2个人,则两者在同意时得到0;