只需使用ddplyr {} plyr和我遇到了以下問題開始:與ddplyr意外變爲R
我創建了一個簡單的數據幀:
require(plyr)
df <- data.frame(day=c('monday', 'tuesday'), week=c(47,48))
現在,當我運行此:
ddply(df, .(day), transform,
b = ifelse(week==47, week, day)
)
我得到這個:
day week b
1 monday 47 47
2 tuesday 48 2
而我試圖讓這個:
day week b
1 monday 47 47
2 tuesday 48 tuesday
我認爲問題的一部分是,我在一列混合數字和字符串變量。任何想法我怎麼能得到我的預期結果?謝謝!
如果您將日和星期都視爲字符,則會得到預期結果。至少我用我的Mac獲得了預期的結果。 – jazzurro 2015-04-05 04:30:12
嘗試添加'stringsAsFactors = FALSE'到你對'data.frame'的調用中 – 2015-04-05 04:42:01
這給了我在linux mint'ddply(df,。(day),transform,b = ifelse(week == 47,as .character(week),as.character(day)))'as @jazzurro在評論中提到。 – akrun 2015-04-05 04:52:16