1

df の変数 Font の下に NA 値があるとします。変数グループの下で一致する値に基づいて NA 値をどのように置き換えることができますか? たとえば、Group = 1 のすべての行のフォントを Arial にし、Group = 2 のすべての行のフォントを Helvetica にしたいとします。私は次のことができることを認識しています: df$Font[df$Group==1]<-"Arial" または 'car' パッケージの recode() を使用します。ただし、何千もの異なるグループとフォントがあり、それらをコードに入力し続けたくないとします。

Example data:
   Group  Font
   1      Arial
   1      NA
   2      NA
   2      Helvetica
4

1 に答える 1

4

ave欠損していない値を取得して埋めるために使用します。

dat <- read.table(text="   Group  Font
   1      Arial
   1      NA
   2      NA
   2      Helvetica",header=TRUE)

dat$Font <- with(dat, ave(Font, Group, FUN=function(x) replace(x, TRUE, na.omit(x)[1L])))

#  Group      Font
#1     1     Arial
#2     1     Arial
#3     2 Helvetica
#4     2 Helvetica
于 2015-12-23T23:43:02.047 に答える