如何在 R 中將字元資料框轉換成數值資料框?


有時,數值會被記錄為字元值,並且在開始分析之前,我們需要將它們轉換為數值型別。對於 R 中的整個資料框也是可行的。因此,我們可以使用 sapply 函式將資料框的列轉換為數值型別,並透過使用 as.data.frame 讀入資料框來儲存輸出。

示例 1

考慮下面的資料框 −

 即時演示

x<−sample(c("1","2","3"),20,replace=TRUE)
df1<−data.frame(x)
df1

輸出

   x
1  2
2  2
3  2
4  1
5  2
6  3
7  1
8  2
9  2
10 2
11 1
12 1
13 2
14 2
15 1
16 1
17 3
18 2
19 3
20 1

檢查 df1 的結構 −

示例

str(df1)

輸出

'data.frame': 20 obs. of 1 variable:
$ x: chr "2" "2" "2" "1" ...

將 df1 的列的資料型別轉換為數值資料型別 −

示例

df1<−as.data.frame(sapply(df1,as.numeric))
str(df1)

輸出

'data.frame': 20 obs. of 1 variable:
$ x: num 2 2 2 1 2 3 1 2 2 2 ...

示例 2

 即時演示

y1<−sample(c("254","324","220","301"),20,replace=TRUE)
df2<−data.frame(y1)
df2

輸出

   y1
1  324
2  254
3  220
4  254
5  220
6  220
7  324
8  254
9  324
10 220
11 324
12 324
13 301
14 324
15 220
16 301
17 301
18 324
19 301
20 254

示例

str(df2)

輸出

'data.frame': 20 obs. of 1 variable:
$ y1: chr "324" "254" "220" "254" ...

示例

df2<−as.data.frame(sapply(df2,as.numeric))
str(df2)

輸出

'data.frame': 20 obs. of 1 variable:
$ y1: num 324 254 220 254 220 220 324 254 324 220 ...

更新於: 2021 年 2 月 5 日

2K+ 瀏覽

開啟您的 職業生涯

完成課程獲得認證

開始
廣告