這都是在 Rstudio 中使用 R。我希望有一個快速的解決方案。我目前正在學習 Udacity R 課程,他們要求我運行以下代碼以顯示age.range名為的資料集中變數的級別reddit:
levels(reddit$age.range)
但是,它會不斷回傳相同的輸出。
NULL
在他們使用相同資料集的視頻教程中,它似乎作業正常,并且為這個變數顯示了一系列清晰的級別,所以我真的不明白問題是什么。請幫忙。
> str(reddit)
'data.frame': 32754 obs. of 14 variables:
$ id : int 1 2 3 4 5 6 7 8 9 10 ...
$ gender : int 0 0 1 0 1 0 0 0 0 0 ...
$ age.range : chr "25-34" "25-34" "18-24" "25-34" ...
$ marital.status : chr NA NA NA NA ...
$ employment.status: chr "Employed full time" "Employed full time" "Freelance" "Freelance" ...
$ military.service : chr NA NA NA NA ...
$ children : chr "No" "No" "No" "No" ...
$ education : chr "Bachelor's degree" "Bachelor's degree" "Some college" "Bachelor's degree" ...
$ country : chr "United States" "United States" "United States" "United States" ...
$ state : chr "New York" "New York" "Virginia" "New York" ...
$ income.range : chr "$150,000 or more" "$150,000 or more" "Under $20,000" "$150,000 or more" ...
$ fav.reddit : chr "getmotivated" "gaming" "snackexchange" "spacedicks" ...
$ dog.cat : chr NA NA NA NA ...
$ cheese : chr NA NA NA NA ...
> table(reddit$age.range)
18-24 25-34 35-44 45-54 55-64 65 or Above Under 18
15802 11575 2257 502 140 60 2330
uj5u.com熱心網友回復:
這里的問題似乎是變數是 type character。為了levels()作業,它需要成為一個因素。所以這應該作業:
reddit$age.range <- as.factor(reddit$age.range)
levels(reddit$age.range)
出現此問題的原因可能是您使用read.csv或read.table選項匯入了這些資料stringsAsFactors = FALSE。這個默認值最近發生了變化。在加載資料時始終明確指定此選項是個好主意。
uj5u.com熱心網友回復:
我猜您正在學習的課程是在 R 4.0 之前創建的。在 R4 中,data.frame 的“stringsAsFactors”引數的默認值從 true 更改為 false。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/408928.html
標籤:
上一篇:使用R創建完全對立的繪圖
下一篇:如何在資料框串列中求和值
