我想创建一个新的列列的行合计的基础上列范围内给出的文本列(col_range).我try 了以下操作,它抛出了一个错误.有人知道怎么做吗.
d = data.frame(index_id = c("a1232","c198", "s345","2ert", "e234","e567"),
yr_ref = c(2023,2024,2025,2024,2027,NA),
temp2023 = c(2000,5000,2300,2000,1000,200),
temp2024 = c(3000,3000,3000,0,0,200),
temp2025 = c(2000,3000,0,800,8000,200),
temp2026 = c(300,200,1000,0,0,200),
temp2027= c(1300,1200,100,10,10,200),
col_range = c("temp2023:temp2023","temp2023:temp2024","temp2023:temp2025","temp2023:temp2024","temp2023:temp2027",NA))
d= d %>%
mutate(temp_total= ifelse(!is.na(yr_ref),
sum(c_across(col_range)),NA))
#### ERROR
Error in `mutate()`:
ℹ In argument: `temp_total = ifelse(!is.na(yr_ref), sum(c_across(col_range)), NA)`.
Caused by error in `sum()`:
! invalid 'type' (character) of argument
Run `rlang::last_trace()` to see where the error occurred.```