Udin在一个函数中有两个以上的apply()

我得到的数据就像学生在考试中做出的反应一样。我写了一些代码来计算正确和错误的答案,例如

`ncorrect <- function(resp,keyt){
  cr <- sum(resp == keyt, na.rm = T)
  return(cr)
}


nfalse <- function(resp,keyt){
  fl <- sum(resp != keyt, na.rm = T)
  return(fl)
}`

我想将这些数据绑定到我的数据框中,并编写如下代码

checkscores <- function(frame){
 frame$ncorrect <- apply(frame,1,ncorrect,keyt=frame[1,]) 
 frame$nfalse <- apply(frame,1,nfalse,keyt=frame[1,])
  return(frame)
}

but the line frame$nfalse <- apply(frame,1,nfalse,keyt=frame[1,]) use frame as previous line so that it gives the data with an addition +1. How can I fix this ? thanks for your attention

评论