[英]How do I assign numerical values to characters in a column in R?
我在 R 中導入了一個表 (.cvs),其中有一列收入,其中收入為<=50K
或>50K
。
>str(hausuebung_daten$income)
chr [1:500] "<=50K" "<=50K" ">50K" "<=50K" ">50K" "<=50K" "<=50K" "<=50K" ">50K" "<=50K" ">50K" ">50K" ...
現在我正在嘗試將此列從字符轉換為數字。 我已經能夠將其轉換為因子
> hausuebung_daten$income<-factor(hausuebung_daten$income)
> str(hausuebung_daten$income)
Factor w/ 2 levels "<=50K",">50K": 1 1 2 1 2 1 1 1 2 1 ...
然后嘗試為因子分配一個數值(使用 plyr 包)
library(plyr)
> hausuebung_daten$income<-revalue(hausuebung_daten$income, "1"="<=50000", "2"=>"50000")
Error: unexpected '>' in "hausuebung_daten$income<-revalue(hausuebung_daten$income, "1"="<=50000", "2"=>"
我收到了如上所示的錯誤消息。
您可以使用ifelse()
來執行此操作,因為您只是在處理"<=50K"
和">50K"
。
hausuebung_daten$income <- ifelse(hausuebung_daten$income == ">50K", 2, 1)
> hausuebung_daten$income
[1] "<=50K" "<=50K" ">50K" "<=50K" ">50K" "<=50K" "<=50K" "<=50K"
[9] ">50K" "<=50K" ">50K" ">50K"
> hausuebung_daten$income <- ifelse(hausuebung_daten$income == ">50K", 2, 1)
> hausuebung_daten$income
[1] 1 1 2 1 2 1 1 1 2 1 2 2
我想以下內容可能適合您的目的:
hausuebung_daten$income <- factor(hausuebung_daten$income,labels = c(1,2))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.