[英]How do you convert a char data frame to numeric?
為了繼續准備數據集,我需要使每個 col 的 str 都是數字而不是字符。
str(eighthr)
'data.frame': 2533 obs. of 74 variables:
$ Date : chr "1/2/1998" "1/3/1998" "1/4/1998" "1/5/1998" ...
$ WSR0 : chr "2.8" "2.9" "4.7" "2.6" ...
$ WSR1 : chr "3.2" "2.8" "3.8" "2.1" ...
$ WSR2 : chr "3.3" "2.6" "3.7" "1.6" ...
$ WSR3 : chr "2.7" "2.1" "3.8" "1.4" ...
$ WSR4 : chr "3.3" "2.2" "2.9" "0.9" ...
$ WSR5 : chr "3.2" "2.5" "3.1" "1.5" ...
如何轉換除 $Date 之外的所有行?
您可以across
dplyr
的mutate
中使用:
library(dplyr)
mutate(eighthr, across(-Date, as.numeric))
我嘗試了 henryn 解決方案,它有效。 您可以嘗試復制此代碼並查看是否出現錯誤。
library(dplyr)
data <- data.frame(
Date = as.character(c('1/2/1998', '1/3/1998')),
WSR0 = c('2.5', '2.6'),
WSR1 = c('3.2', '3.5')
)
data2 <- mutate(data, across(-Date, as.numeric))
str(data2)
無論出於何種原因,如果變異方式仍然不起作用,您可以采用一種乏味的方式,但肯定可以使用,即簡單地使用 as.numeric。 這應該可以確定,因為它只使用基本的 R 命令,我們可以排除任何庫問題。
eighthr$WSR0 <- as.numeric(eighthr$WSR0)
eighthr$WSR1 <- as.numeric(eighthr$WSR1)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.