2014-10-19 46 views
0

這裏是問題/提示生成隨機正常的數據,然後進行分類

  1. 爲此,產生被隨機地從具有50的平均和爲10的標準偏差的正態分佈繪製1000個的值的矢量。標記這個額外的列「RGENDER」。
  2. 更改RGender,使小於50的值標記爲Male,值50或更多標記爲Female。當使用水平()的值$ RGENDER你應該看到「女」和「男」 **

對於1,我有:

stats$RGENDER <- rnorm(1000, 50 ,10) 

而對於2.我努力:

stats1$RGENDER <- factor(stats$RGENDER, levels=c(<50, >50), 
               labels=c("Male", "Female")) 

我不斷收到錯誤消息,

Error: unexpected '<' in "stats$RGENDER <- factor(stats$RGENDER, levels=c(<"

,我不知道該怎麼辦。有誰知道這是完全錯誤的功能,還是隻是在編寫函數時出錯?

+0

factor()的'levels'參數不符合您的想法。看看'ifelse'。 – 2014-10-19 21:48:20

+0

所以我應該使用不同的參數來替換關卡Ben? – N2itive1 2014-10-19 21:53:33

+0

如果你看一下'?factor',你會發現它需要參數來使它成爲一個數據向量,通常只有少量不同的值。你已經通過了連續向量。您需要在「因素」調用之前或之中對此進行分類。 – user20650 2014-10-19 21:56:27

回答

2
stats <- data.frame(RGENDER=rep(NA,1000)) # Cannot use `$<-` unless df exists 
stats$RGENDER <- rnorm(1000, 50 ,10) 
stats$RGENDER <- factor(stats$RGENDER >50, levels=c('TRUE','FALSE'), 
               labels=c("Male", "Female")) 

需要設置'levels',以便它們匹配從邏輯運算符返回的內容。

> table(stats$RGENDER) 

    Male Female 
    513 487 
+0

謝謝BondedDust – N2itive1 2014-10-19 22:05:45