Только начал использовать 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
попробуйте добавить 'stringsAsFactors = FALSE' к вашему вызову' data.frame' –
Это дало мне ожидаемый результат в linux mint 'ddply (df,. (Day), transform, b = ifelse (week == 47, as .character (неделя), as.character (day))) 'как @jazzurro, упомянутый в комментариях. – akrun