2016-11-08 160 views
0

我的數據幀:使NA觀察結果與觀察在相同相鄰列

 structure(list(make = c("land rover", "land rover", "land rover", 
    "land rover", "land rover", "land rover", "land rover", "land rover", 
    "land rover", "land rover"), model = c("freelander", "range", 
    "discovery", "freelander", "range", "discovery", "discovery", 
    "range", "discovery", "range"), body = c("freelander", "sport", 
    "discovery", "2", "evoque", "sport", "4x4", "range", "4", "sport" 
    )), .Names = c("make", "model", "body"), row.names = c(92L, 178L, 
    185L, 192L, 202L, 224L, 233L, 448L, 473L, 480L), class = "data.frame") 

我想NA列「體」相同的那些列「模式」觀測那些觀測。在這種情況下,這將是行1,3,8。 我嘗試了以下功能,不給任何錯誤,也不會產生任何結果:如果你打電話給你的數據集的「測試」

RemovingNames <- function(df){ 
    for(i in 1:nrow(df)) 
    ifelse(identical (df[i,2], df[i,3]), df[i,3]<-NA, df[i,3]<-df[i,3]) 
} 
+2

你不需要一個'for'循環'df1 [,3] [df1 [,2] == df1 [,3]] < - NA' – akrun

+0

謝謝我過於複雜。會接受答案。 – Vasile

回答

1

,則:

test[test[,"model"] == test[, "body"], "body"] <- NA