3
このifelse文には何が問題なのですか?R、grepl()を含むifelseでdplyr :: mutateを使用すると予期しない結果が発生する
df <- data.frame(var1=c('ABC','CAB', 'AB'))
dplyr::mutate(df, var2=ifelse(grepl('^AB',var1), 'AB-starter', var1))
( 'var1が' "AB" で始まっていないときには)私が(変異しifelse文を使用して)var2での2番目の要素でVAR1の値を望んでいた
var1 var2
1 ABC AB-starter
2 CAB 3
3 AB AB-starter
を与えます:
var1 var2
1 ABC AB-starter
2 CAB CAB
3 AB AB-starter
ああを使用し、
as.character
または
data.frame
を作成することによって、それを避けることができます!私はすでにその可能性をテストしたと思った(stringsAsFactors = F)が、私はその行に間違ったvariabel名を持っていた。溶融操作後(私の実際のデータで)、要因が戻ってきたことが分かります。 – user3375672