[英]ifelse works with mutate in R, why not in knitr?
我有這行代碼在“普通” R中工作:
damage <- damage %>% mutate( EVTYPE = ifelse(grepl("winter", EVTYPE,
ignore.case=T), "Winter Weather", EVTYPE))
但是,knitr中完全相同的代碼行會導致奇怪的行為。 如果grep失敗,則不會單獨保留EVTYPE的值,而是改為將其更改為數字。 也許是一個索引。
head(unique(damage $ EVTYPE))在R中的輸出為:
[1]“ TORNADO”“ TSTM WIND”“ HAIL”“ ICE STORM / FLASH FLOOD”
[5]“冬季天氣”“颶風蛋白石/高風”
而在針織衫中是:
[1]“ 407”“ 423”“ 134”“ 239”
[5]“冬季天氣”“ 223”
這是錯誤嗎? 是否有某些原因不能預期此功能在knitr中起作用?
看起來在您的R環境中,它是一個字符向量,而在針織機環境中,這是一個因素。 您是否忘記在read.table或data.frame上使用stringsAsFactors = FALSE?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.