簡體   English   中英

如何將 char 數據框轉換為數字?

[英]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 dplyrmutate中使用:

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM