0
嗨,我在98國家運行相同的計算,偶爾需要(df $ var,df $ vactor,sum)。我用cut函數創建了一個細分因子變量,並且需要在稍後的點上逐段計算總和。這工作正常,但我有國家的頂部分段是空的,然後我得到一個「NA」的總和頂部分段。有沒有更好的方法來避免這種情況,然後在附加命令後用零替換NA?我想保持大約的長度。 MWE在那裏我DF2得到一個NA於因子水平「C」:由空白類別的因子總和
df1<-data.frame(val=rep(seq(1:3),4),
factor=cut(rep(seq(1:3),4),breaks=c(1,2,3,4), include.lowest = TRUE, ordered_results=True , labels=LETTERS[1:3]))
df2<-data.frame(val=rep(seq(1:4),3),
factor=cut(rep(seq(1:4),3),breaks=c(1,2,3,4), include.lowest = TRUE, ordered_results=True , labels=LETTERS[1:3]))
by(df1$val,df1$factor,sum)
by(df2$val,df2$factor,sum)
你也可以使用'as.character()' –
THX所提出的解決方案。事情是我想總是有相同長度的向量,所以NA被替換爲0.我編輯我的問題 –
ifelse解決方案基本上只是我提出的額外命令 –