gpt4 book ai didi

R - 使用 If 语句比较不同水平的因素

转载 作者:行者123 更新时间:2023-12-03 09:09:35 25 4
gpt4 key购买 nike

我想比较数据集中的两列,但它们具有不同的级别。我似乎找不到办法让它发挥作用。有什么建议吗?

示例:

x = c('a','b','c')
y = c('a','b','g')
z = data.frame(x,y)

if(z$x == z$y){1} else{0}

返回:Ops.factor(z$x, z$y) 中的错误:因子的水平集不同

我试图让它们具有相似的级别,即:

z$x <- factor(z$x, levels=c(levels(z$y),levels(z$x)))
z$y <- factor(z$y, levels=c(levels(z$y),levels(z$x)))

但它仍然返回错误。

我还使用了is.same()

最佳答案

您可以将它们转换为字符进行比较。但是,如果您想比较所有行,您可能需要使用 ifelse:

ifelse(as.character(z$x) == as.character(z$y), 1, 0)

关于R - 使用 If 语句比较不同水平的因素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43855752/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com