2015-05-14 68 views
0

我知道如何與下面的代碼使NA的空白:數據替換NA從另一列中的R

IMILEFT IMIRIGHT  IMIAVG 
     NA   NA   NA 
     NA 71.15127   NA 
72.18310 72.86607 72.52458 
70.61460 68.00766 69.31113 
69.39032 69.91261 69.65146 
72.58609 72.75168 72.66888 
70.85714   NA   NA 
     NA 69.88203   NA 
74.47109 73.07963 73.77536 
70.44855 71.28647 70.86751 
     NA 72.33503   NA 
69.82818 70.45144 70.13981 
68.66929 69.79866 69.23397 
72.46879 71.50685 71.98782 
71.11888 71.98336 71.55112 
     NA 67.86667   NA 

IMILEFT <- ((ASLCOMPTEST$LHML + ASLCOMPTEST$LRML)/(ASLCOMPTEST$LFML + 
      ASLCOMPTEST$LTML)*100) 
IMILEFT <- sapply(IMILEFT, as.character) 
IMILEFT[is.na(IMILEFT)] <- "" 

但是,當我做到這一點的代碼,它不會讓我做的「IMILEFT」和「IMIRIGHT」的平均值或使「IMIAVG」與具有數值的另一列相同。

IMIAVG<-((IMILEFT + IMIRIGHT)/2) 

錯誤IMILEFT + IMIRIGHT:非數值參數二元運算

這也將是同樣的錯誤,如果我讓as.numeric

+0

我是新來這個論壇,但我很困惑,爲什麼這個問題被編輯,我的禮貌(最後說謝謝)被編輯出來。我想向所有查看此問題並已經或將要回復的人表示感謝。 – Jackie

+3

你好,歡迎來到我的問題,謝謝,請幫助等等這些零件通常不需要。禮貌是隱含的,如果問題需要編輯出於某種其他原因,問候/細節通常會被編輯出來。不要把它當作個人:-) – thelatemail

+0

@thelatemail我不太確定禮貌是否暗示在這裏這裏的樹林;)我已經看到了一些相當粗糙的邊緣 –

回答

1

嘗試以下。離開NA S作爲他們

,如果你有行均列NA,然後讓分母是

pmin(1, 2 - (is.na(L) + is.na(R))) 
+0

不幸的@ricardo這不起作用。它使列-2.0000 – Jackie