0
該代碼看起來像這樣,雖然可以工作,但帶有警告。警告是要替換的項目數量不是替換長度的倍數,所以我明白它與長度有關,但我不太明白。如何用來自其他表格的數值替換NA與表格的標題相匹配
df$var1[is.na(df.t$var1)]=avg[as.character(df.t$var2)]
df是包含var1和var2的數據幀,var1是數字,var2是因子。我想用數組'avg'中名稱與var2值匹配的值替換df中var1的NA。我希望問題很清楚! as.character在這裏並沒有真正的區別。
第4行的數據DF的樣子
structure(list(df.t.var1 = c(0L,
0L, 0L, 0L), df.t.var2 = structure(c(14L,
18L, 12L, 15L), .Label = c("AA", "AB", "AC", "AD", "AE", "BA",
"BB", "BC", "BD", "BE", "CA", "CB", "CC", "CD", "CE", "DA", "DB",
"DC", "DD", "DE", "EA", "EB", "EC", "ED", "EE", "FA", "FB", "FC",
"FD", "FE", "GA", "GB", "GC", "GD", "GE"), class = "factor")), .Names = c("df.t.var1",
"var2"), row.names = c(NA, 4L), class = "data.frame")
和第4行的 '平均' 看起來像
structure(c(0.0194610778443114, 0.0387323943661972, 0.035645472061657,
0.0533656761673742), .Dim = 4L, .Dimnames = list(c("AA", "AB",
"AC", "AD")))
您還沒有在您的任何問題中添加可重複的例子,包括這一個。請閱讀[問] –