【问题标题】:R: Compare string variables with different levelsR:比较不同级别的字符串变量
【发布时间】:2017-11-11 01:50:18
【问题描述】:

我能知道如何在 R 中比较两个不同级别的字符串变量吗?

我想检查变量 Q1 是否与 Q2 匹配,以便稍后对我的数据进行一些验证

Key  Q1      Q2               
 1   Apple   Pineapple       
 2   Banana  Banana              
 3   Apple   Papaya              
 4   Orange  ""                    
 5   Papaya  ""                 
 6   Apple   Apple          

结果如下

Key  Q1      Q2          Result           
 1   Apple   Pineapple   No   
 2   Banana  Banana      Yes           
 3   Apple   Papaya      No             
 4   Orange  ""          No                      
 5   Papaya  ""          No              
 6   Apple   Apple       Yes        

我收到一条错误消息,指出

"level sets of factors are different"


$ Q1    : Factor w/ 4 levels "Apple","Banana",..: 1 2... 
$ Q2    : Factor w/ 5 levels "","Pineapple","Banana"...

有人可以帮忙吗?

非常感谢。

【问题讨论】:

  • 转成字符再试
  • @Sotos 非常感谢。这很简单,但我想不出来。哈哈

标签: r string logical-operators r-factor


【解决方案1】:

试试这个:

Q1 = c("Apple", "Banana", "Apple", "Orange", "Papaya", "Apple")
Q2 = c("Pineapple", "Banana", "Papaya", "", "", "Apple")

df = as.data.frame(cbind(Q1, Q2))
df$Q1 = as.character(df$Q1)
df$Q2 = as.character(df$Q2)

df$Results = ifelse(df$Q1 == df$Q2, "Yes", "No")
df

> df
      Q1        Q2 Results
1  Apple Pineapple      No
2 Banana    Banana     Yes
3  Apple    Papaya      No
4 Orange                No
5 Papaya                No
6  Apple     Apple     Yes

【讨论】:

  • 谢谢。会试一试
猜你喜欢
  • 1970-01-01
  • 2023-01-23
  • 1970-01-01
  • 1970-01-01
  • 2021-10-14
  • 1970-01-01
  • 2014-09-17
  • 2018-09-23
  • 1970-01-01
相关资源
最近更新 更多