get() 错误:第一个参数的长度 > 1

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

在我尝试执行但不明白为什么它不起作用的代码下方:

test2=test %>% mutate_at(list_PE,list(~case_when(
  TAILLE=="PE"~get(paste0("SCORE_", str_replace(., "_SCORE", ""), "_", "PE")),
  TRUE~.
)))

获取错误(paste0(“SCORE_”,str_replace(EXTRA3_SCORE,“_SCORE”,“”), : 第一个参数的长度 > 1

我不明白为什么会收到此错误消息,因为如果我仅使用“list_PE”列表中的一个元素运行此代码,则代码运行没有任何问题:

test2=test %>% mutate_at("EXTRA3_SCORE",list(~case_when(
  TAILLE=="PE"~get(paste0("SCORE_", str_replace("EXTRA3_SCORE", "_SCORE", ""), "_", "PE")),
  TRUE~.
)))

更多地解释我想要什么

我有多个具有相同名称格式的列 (26)。我正在尝试做:

If TAILLE=="TAILLE" Then X_SCORE=SCORE_X_TAILLE

我怎样才能使这项工作?我应该使用其他函数而不是“get()”吗?

在此先感谢您的帮助

r dplyr tidyverse rstudio stringr
© www.soinside.com 2019 - 2024. All rights reserved.