【发布时间】:2021-10-07 21:08:58
【问题描述】:
我的专栏是:
> names(fullmerge.df)
[1] "Email" "SID" "First.Name" "Last.Name"
[5] "Program" "Location" "StudentType" "SS.Advisor"
[9] "CourseTotal" "Questionnaire" "Quiz1" "Quiz2"
[13] "Quiz3" "Quiz4" "Quiz5" "Quiz6"
[17] "Quiz7" "Quiz8" "Satisfaction.Survey" "F1"
[21] "Status" "Incomplete" "Retake"
我正在尝试在“重考”列中创建一个虚拟变量,如果任何测验成绩(Quiz1 到 Quiz8)低于 80.00,则为 1,否则为 0。
我的第一个想法是我需要一个 ifelse 来检查“Quiz1”到“Quiz8”列中的任何值是否
fullmerge.df$Retake <- ifelse(fullmerge.df$Quiz1 <80 |
fullmerge.df$Quiz2 <80 |
fullmerge.df$Quiz3 <80 |
fullmerge.df$Quiz4 <80 |
fullmerge.df$Quiz5 <80 |
fullmerge.df$Quiz6 <80 |
fullmerge.df$Quiz7 <80 |
fullmerge.df$Quiz8 <80
, 1 , 0)
我也知道:
starts_with.("Quiz")
...只是不知道如何实现。
话虽如此,另一个问题是所有“Quizx”列都是 chr。键入,因为如果测验尚未完成,它们包含字符串“-”。 “Quiz4”列还包含字符串“Not required”,因为有些学生不需要参加此测验。
> unique(fullmerge.df$Quiz4)
[1] "Not required" "80.00" "100.00" "-"
【问题讨论】: