簡體   English   中英

r - 將因子轉換為數字並刪除級別

[英]r - convert factor to numeric and remove levels

我的數據框中有一列是數字 1、2、3,直到 31。

列標題為“游戲”

R 告訴我這一列由 31 個級別的因素組成。

在此處輸入圖像描述

如何在不顯示級別的情況下將因子轉換為數字,以便進行數字分析?

如果有幫助的話,我正在使用 R 工作室。

如果直接從因子轉換為數值,它將返回級別而不是實際值。 這里沒關系,因為看起來級別和值都相同。 如果它們不同,則必須先轉換為字符,然后再轉換為數字。

df$game <- as.numeric(as.character(df$game))

如果您有一個 dataframe 的因子在每列中具有相同類型的數據,那么您可以使用as.matrix

> e=expand.grid(list(letters[1:2],letters[1:3]))
> str(e)
'data.frame':   6 obs. of  2 variables:
 $ Var1: Factor w/ 2 levels "a","b": 1 2 1 2 1 2
 $ Var2: Factor w/ 3 levels "a","b","c": 1 1 2 2 3 3
 - attr(*, "out.attrs")=List of 2
  ..$ dim     : int [1:2] 2 3
  ..$ dimnames:List of 2
  .. ..$ Var1: chr [1:2] "Var1=a" "Var1=b"
  .. ..$ Var2: chr [1:3] "Var2=a" "Var2=b" "Var2=c"
> str(as.matrix(e))
 chr [1:6, 1:2] "a" "b" "a" "b" "a" "b" "a" "a" "b" "b" "c" "c"
 - attr(*, "dimnames")=List of 2
  ..$ : NULL
  ..$ : chr [1:2] "Var1" "Var2"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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