R tidyverse:使用现有的经过验证的转换表改变原始分数以添加 t 分数

问题描述 投票:0回答:0

我有一个关于 n 个科目的原始测试分数,以及一个之前经过验证的转换表,该转换表将每个可能的原始分数与 t 分数和 SE 联系起来。目标是为每个主题分配正确的 tscore 和 SE。

以下产生了预期的结果,但是转换表有很多行,所以这变得很难看。欢迎提出更优雅的解决方案的任何建议!

raw<-data.frame(obsval=c(8,8,2,5,5))
tse<-data.frame(score=c(2,5,8),ts=c(1,2,3),se=c(0.1,0.2,0.3))

raw <- raw %>%
  mutate(tscore = case_when( 
  raw == tse[1,1] ~ tse[1,2],
  raw == tse[2,1] ~ tse[2,2],
  raw == tse[3,1] ~ tse[3,2],
  )) %>% 
mutate (SE = case_when(
  raw == tse[1,1] ~ tse[1,3],
  raw == tse[2,1] ~ tse[2,3],
  raw == tse[3,1] ~ tse[3,3],
))
dplyr mutate
© www.soinside.com 2019 - 2024. All rights reserved.