我無法將它們轉換為數值。我是這樣做的:)df1<-df1 %>% mutate(across(starts_with("DR1"), as.numeric)。我有什么錯?
df1<-structure(list(date1 = structure(c(1639612800, 1639612800, 1639612800,
1639612800, 1639612800, 1639612800), class = c("POSIXct", "POSIXt"
), tzone = "UTC"), date2 = structure(c(1636934400, 1636934400,
1636934400, 1636934400, 1636934400, 1636934400), class = c("POSIXct",
"POSIXt"), tzone = "UTC"), Week = c("Monday", "Monday", "Monday",
"Monday", "Monday", "Monday"), Category = c("ABC", "ABC", "CDE",
"CDE", "FDG", "FDG"), DR1 = c("198.00", "401.38", "0.00", "0.00",
"0.00", "0.00"), DR01 = c("188.36", "293.91", "0.00", "0.00",
"0.00", "0.00"), DR02 = c("195.00", "282.38", "0.00", "0.00",
"0.00", "0.00"), DR03 = c("195.00", "288.38", "0.00", "0.00",
"0.00", "0.00")), row.names = c(NA, -6L), class = c("tbl_df",
"tbl", "data.frame"))
df1<-df1 %>% mutate(across(starts_with("DR1"), as.numeric))
x<-df1 %>% select(starts_with("DR0"))
x<-cbind(df1, setNames(df1$DR1 - x, paste0(names(x), "_PV")))
Error in FUN(left, right) : non-numeric argument to binary operator
uj5u.com熱心網友回復:
DR這里的所有列都是character類。OP 僅將“DR1”列轉換為numeric. 因此,我們在對DR0列進行減法時會得到錯誤。包括創建另一個物件“x”的三步程序,然后cbind可以在tidyverse其內部更緊湊地完成- 回圈across“DR”列并轉換為numeric,然后回圈across“DR0”列,從“DR1”中減去并創建新列修改.names( {.col}- 回傳原始列名,向列名_PV添加后綴,從而回傳新列
library(dplyr)
df1 <- df1 %>%
mutate(across(starts_with("DR"), as.numeric),
across(starts_with("DR0"), ~ DR1 - ., .names = "{.col}_PV"))
-輸出
df1
# A tibble: 6 × 11
date1 date2 Week Category DR1 DR01 DR02 DR03 DR01_PV DR02_PV DR03_PV
<dttm> <dttm> <chr> <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
1 2021-12-16 00:00:00 2021-11-15 00:00:00 Monday ABC 198 188. 195 195 9.64 3 3
2 2021-12-16 00:00:00 2021-11-15 00:00:00 Monday ABC 401. 294. 282. 288. 107. 119 113
3 2021-12-16 00:00:00 2021-11-15 00:00:00 Monday CDE 0 0 0 0 0 0 0
4 2021-12-16 00:00:00 2021-11-15 00:00:00 Monday CDE 0 0 0 0 0 0 0
5 2021-12-16 00:00:00 2021-11-15 00:00:00 Monday FDG 0 0 0 0 0 0 0
6 2021-12-16 00:00:00 2021-11-15 00:00:00 Monday FDG 0 0 0 0 0 0 0
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/394814.html
標籤:r
上一篇:Mongodb集群KubernetesStateful集未洗掉
下一篇:如何用預先指定的值替換矩陣中的0
