离开日期列,我想将数据帧中的其余列从chr转换为数字。我怎样才能做到这一点?数据框中有许多列,下面只是摘录。谢谢
Date RECORD Battery_V Data_logger_Temp_C VWC_CS7
2021-06-25 12:34:00 0 12.47 14.14 0.127
假设我们在结尾的Note中有可重复显示的数据帧。然后转换除第一列以外的所有列,如图所示。未使用任何程序包。
DF2 <- replace(DF, -1, lapply(DF[-1], as.numeric))
或
DF2 <- DF
DF2[-1] <- lapply(DF2[-1], as.numeric)
或者我们可以使用转换所有字符列
ok <- sapply(DF, is.character)
DF2 <- replace(DF, ok, lapply(DF[ok], as.numeric))
或
DF2 <- DF
ok <- sapply(DF2, is.character)
DF2[ok] <- lapply(DF2[ok], as.numeric)
备注
Lines <- " Date RECORD Battery_V Data_logger_Temp_C VWC_CS7
2021-06-25T12:34:00 0 12.47 14.14 0.127"
DF <- read.table(text = Lines, header = TRUE, colClasses = "character",
strip.white = TRUE)
DF$Date <- as.POSIXct(DF$Date, format = "%Y-%m-%dT%H:%M:%S")
library(dplyr)
df <- df %>%
mutate(across(.cols = -Date, as.numeric))