2016-02-16 74 views
0

我希望這是提問我的問題的正確位置:我想用我的data.frame中的sex-column替換較長的男性/女性字符串,只是'm '/'F'。如何建立一個通配符函數,說明「如果字符串以m/f開頭,將其值設置爲m/f」?Basic R例程:重命名data.frame列中的值

可能的數據:

df <- data.frame(list(A=c("fem","mal"), B=c(12, 17))) 

謝謝你這麼多

+1

請看看這個:http://stackoverflow.com/questions/5963269/how-to-make-a -great-r-reproducible-example – Sotos

+1

'dat $ sex < - substr(dat $ sex,1,1)'? – Axeman

+0

if(df $ A ==「fem」)df $ A ==「f」 – MaxPD

回答

1
df$A <- substring(df$A, 1, 1) 
df 
# A B 
# 1 f 12 
# 2 m 17 
+0

我猜這個問題比OP當前顯示的要寬。如果你有其他字符串,而不是「fem」和「mal」,它會失敗。 –

+0

其他任何不以字母「m」或「f」開頭的字符串,您的意思是 – Sotos

+1

事實上,我有更寬的字符串(使用另一種語言),代碼的工作原理是將字符串縮減爲其首字母。我正在尋找:) – Mac