[英]Ifelse in R or apply
我嘗試使df第一列中的元素等於第二列同一行中的元素(根本沒有任何條目)。 這是一件非常簡單的事情,但是我無法在留言板上找到答案。
以下是我的兩次嘗試:
ifelse(y2014[y2014[,1]==y2014[,2]],y2014[,1]=="",y2014[,1]==y2014[,1])
y2014$new=ifelse(y2014[,1]==y2014[,2],0,y2014[,1])
兩者都給出以下錯誤:“因子的水平集不同”我檢查了每個因子的水平數,並且它們相等,盡管第2列中的幾個單元格為空白。應用函數是否可以更好地滿足我的需求完成?
非常感謝您對新手的幫助。
兩件事,通常在比較之前需要將因子轉換為字符,並且您要為該值分配NA
而不是0
。
這樣的事情可能會更好:
y2014$new <- y2014[,1]
y2014$new[as.character(y2014$new) == as.character(y2014[,2])] <- NA
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.