r - r 数据框中行的标识

标签 r

我想比较数据框的两行以获取身份。我认为 same() 函数适合此任务,但它无法按预期工作。这是一个最小的例子:

x=factor(c("x","x"),levels=c("x","y"))
y=factor(c("y","y"),levels=c("x","y"))
df=data.frame(x,y)
df
  x y
1 x y
2 x y

identical(df[1,],df[2,])
[1] FALSE
> df[1,]==df[2,]
     x    y

1 TRUE TRUE

谁能解释我为什么相同()返回 FALSE?

谢谢,
托马斯

最佳答案

identical(df[1,],df[2,])
#[1] FALSE
all.equal(df[1,],df[2,])
#[1] "Attributes: < Component 2: Mean relative difference: 1 >"

all.equal(df[1,],df[2,],check.attributes = FALSE)
#[1] TRUE

anyDuplicated(df[1:2,])>0
#[1] TRUE

关于r - r 数据框中行的标识,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17083929/

相关文章:

r - Shiny - "choices"中的所有子列表都必须命名吗?

r - 如何在 R 中定义灵活的 'function expression'

r - XLConnect 中的错误

r - 用于从 R 时间线手动采样的 for 循环的省时替代方案

r - 使用 lpsolve 在 R 中进行线性规划

r - 使用具有常量列的向量选择 R data.table 中的列子集

r - 在 R 中显示 UTF-8 编码字符

r - 向 ggplot 添加一个点会弄乱图例

r - 比较两个向量的值

r - R-Excel VLOOKUP等效项-查找,替换