我试图在我的df的第一列中创建元素null(根本没有条目),如果它等于第二列中同一行中的元素。这是一件非常简单的事情,但我无法在留言板中找到答案。
以下是我的两次尝试:
ifelse(y2014[y2014[,1]==y2014[,2]],y2014[,1]=="",y2014[,1]==y2014[,1])
y2014$new=ifelse(y2014[,1]==y2014[,2],0,y2014[,1])
两者都给出了以下错误:“级别因素集不同”我检查了每个级别的级别数并且它们是相等的,尽管第2列中有几个单元格是空白的。一个应用函数是否适用于我我试图完成?
非常感谢您对新手的帮助。
答案 0 :(得分:1)
在比较之前,通常需要将两个因素转换为字符,并且您希望将NA
而不是0
分配给该值。
这样的事可能会更好:
y2014$new <- y2014[,1]
y2014$new[as.character(y2014$new) == as.character(y2014[,2])] <- NA