我正在嘗試重新編碼,並且遇到似乎夠簡單的障礙,但是在一段時間詢問互聯網後我一直無法弄清楚,所以我感謝你可以給予的任何幫助。在樂譜中指定「NA不允許在下標任務中」
我有一些包含NA的數據。我想重新編碼,使用這些數據,但不斷遇到錯誤「NAs不允許在下標分配中」。正如我試圖創建一個示例數據集,我還遇到了一個警告,我沒有「有意義的因素」。任何幫助,將不勝感激。我的人造數據有三個變量:「var1」和「var2」(字符,有時缺少)和「var3」(數字)。我想要創建第四個變量,如果beta大於零,則包含「var1」的值,如果beta小於零,則包含「var2」的值。如果VAR1或VAR2丟失,我想也缺少新的變量:
var1<-c("A","T",NA,"G","C")
var2<-c("G","A",NA,"A","G")
var3 <-c(-.1,3,-4,5,-3)
df=as.data.frame(cbind(var1,var2,var3))
df$newVar[df$var3>0]=df$var1[df$var3>0]
df$newVar[df$var3<0]=df$var2[df$var3<0]
我得到的是一串紅:
df$newVar[df$var3>0]=df$var1[df$var3>0]
Error in df$newVar[df$var3 > 0] = df$var1[df$var3 > 0] :
NAs are not allowed in subscripted assignments
In addition: Warning messages:
1: In Ops.factor(df$var3, 0) : > not meaningful for factors
2: In Ops.factor(df$var3, 0) : > not meaningful for factors
df$newVar[df$var3<0]=df$var2[df$var3<0]
Error in df$newVar[df$var3 < 0] = df$var2[df$var3 < 0] :
NAs are not allowed in subscripted assignments
In addition: Warning messages:
1: In Ops.factor(df$var3, 0) : < not meaningful for factors
2: In Ops.factor(df$var3, 0) : < not meaningful for factors
任何意見,將不勝感激。謝謝。
你想重新編碼什麼?顯示所需的輸出可能會有所幫助。 –
您是否嘗試過使用'ifelse'語句? –
可能重複的[在R中的多個數據幀重新編碼](http://stackoverflow.com/questions/18323236/recoding-over-multiple-data-frames-in-r) – Metrics