[英]Using != in R to compare Columns in one Dataframe
我试图在来自同一数据帧的 2 个不同列中找到不相等的值。
我正在使用
df %>%
filter(column1 != column2)
然而,它正在返回一些似乎相等的值。 但是它不会返回与其对应的相同的值集
df %>%
filter(column1 == column2)
两列都是双数据类型。
我应该找出不同的方法来比较它们吗?
==
和!=
是元素比较,即将 column1 的第一个值与 column2 的第一个值进行比较,将第二个值与第二个值进行比较,依此类推。 如果目的是将“column2”中的任何值与“column1”中的任何值返回匹配,请使用%in%
library(dplyr)
df %>%
filter(column1 %in% column2)
相反将否定( !
)
df %>%
filter(!column1 %in% column2)
关于 OP 的描述However it is returning some values that seem to be equal.
和Both columns are the double data type.
. 列是双重的,这是一个棘手的情况,即如果是元素,它还必须考虑精度以使它们相等。 由于没有可重复的例子,它仅基于假设。 一种选择是round
列值并进行元素比较
df %>%
filter(round(column1, 1) == round(column2, 1))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.