根据其他列和行及其整数创建新列

时间:2018-10-23 14:55:32

标签: r variables dataframe row multiple-columns

在我的数据集中,我有包含各个评估的列和行。 每次评估的得分介于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循环似乎没有必要,但是我绝对可以错了:)

谢谢!

0 个答案:

没有答案