在我的数据集中,我有包含各个评估的列和行。 每次评估的得分介于0到5之间,或NA(人们无法自我评估)。
一个小组中有4个人必须根据他们的输入来评估其他人。
每个回合之后,每个人都可以互相评价。
行是主题1 赋予他的组成员(eva2,eva3,eva4)的原因。
列是主题从其组成员中收到的。
出于回归模型的目的,似乎有必要知道一个人是否显示更多/更少的输入取决于他/她的评估方式。因为给定的EVA分数包含在变量的主题行中,而不是其他行中。
因此,我希望在其行中显示被惩罚的整数,从而用其成员的整数来评估主题的新列。
此外,我们正在基于X进行二分法区分。
因此,如果一个人有X == 1
,我们想要一个基于X的新列称为x_rec
,从而避免使用rec
变量。
除此之外,还有一个棘手的问题,当X == 1
时,表示有两对人 而不是四个人。我使用X == 1
作为区别,但我们也可以跳过这一点,看看NA。
因为eva1 或 eva2 在之后,将eva3和eva4归为另一对(x_rec
,反之亦然。这也是没有x_rec3
的原因。因为在配对中,另一个人也进行评估,但是他/她将永远不会得到x_rec
,因为他/她与被评估人在同一对中,因此将被归类为rec
。
subject group round X eva1 eva2 eva3 eva4 rec1 rec2 rec3 x_rec1 x_rec2
1 1 1 0 NA 2 1 1 1 0 2 NA NA
2 1 1 0 1 NA 2 1 2 2 2 NA NA
3 1 1 0 0 2 NA 1 1 2 3 NA NA
4 1 1 0 2 2 3 NA 1 1 1 NA NA
1 2 2 0 NA 2 2 1 2 NA NA 3 6
2 2 2 0 2 NA 2 1 2 NA NA 2 3
3 2 2 1 3 2 NA 1 2 NA NA 2 2
4 2 2 1 6 3 2 NA 1 NA NA 1 1
听起来像我想移调,但是我怀疑会这么简单。除非我们可以通过round
进行换位,否则这会变得更容易(我认为)。
我一直在使用ifelse语句,但是要完成它非常棘手。 for循环似乎没有必要,但是我绝对可以错了:)
谢谢!