繁体   English   中英

为值向量编写 R function

[英]Writing an R function for a vector of values

关于在 R 中编写 function 的任何提示 其中: 根据几个人的第二个分数调整原始分数(例如 50)? 第一个分数是50,第二个分数是一个1到5的向量; 如果第二个分数是 1 则将 -5 添加到 50,如果是 2 则添加 -2.5,如果是 3,则添加 0,如果是 4,则添加 2.5,如果是 5,则将 5 添加到原始分数50.

我认为这更适合您的需求:

any_tips <- function(x, score = 50) {
  df <- tibble::tibble(sscore = x)
  df <- df %>% 
    dplyr::mutate(
      score = dplyr::case_when(
        sscore == 1 ~ score - 5,
        sscore == 2 ~ score - 2.5,
        sscore == 3 ~ score,
        sscore == 4 ~ score + 2.5,
        sscore == 5 ~ score + 5
      )
    )
  df
}

> any_tips(1:5)
# A tibble: 5 x 2
  sscore score
   <int> <dbl>
1      1  45  
2      2  47.5
3      3  50  
4      4  52.5
5      5  55  
>

如果您仍然有不同的想法,请告诉我。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM