R中的条件if / else语句

布沃

我正在学习改进R中的编码。我有以下代码:

data$score[testA == 1] <- testA_score
data$score[testB==1] <- testB_score

所以基本上我有四列想要合并为一列:testA = 1指示学生是否参加了考试的A版,而testA_score是他们的分数;testB = 1指示学生是否参加了考试的B版,而testB_score是他们的分数。我想将此信息合并到新的列分数中。

假设我有testA,testB到testH。所有值均为0或1。如果任何测试等于1,如何创建新列test_complete等于1?

基本上,作为一名以前的Stata用户,我正在寻找egen rowtotal和egenrowfirst的R等效命令。非常感谢。

石榴

您可以从所有测试中取出最大值:由于只有1个或0个值,只有完成至少一项测试后,最大值才等于1

  testA <- c(1,0, 0, 1,0,0,0)
  testB <- c(0, 1,0, 0, 1,0,1)
  testC <- c(0, 0, 0,1, 0, 1, 0)

  df <- as.data.frame(cbind(testA, testB, testC))
  df$completed <- apply(df[, 1:3], 1, max)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章