我是R的新手,并尝试根据匹配的内容汇集两个数据集(此处为answc
和diagc
)。由于字符"1 - Tester1"
在answc
中出现两次,我希望answc==diagc
的结果在res
中返回至少两次1(= true);见下面的例子。
我哪里出错了?
head(answc)
[1] "1 - Tester1" "2 - Tester2" "3 - Tester3" "1 - Tester1" "2 - Tester2"
[6] "3 - Tester3"
is.character(answc)
[1] TRUE
head(diagc)
[1] "1 - Tester1"
is.character(diagc)
[1] TRUE
res<-ifelse(answc==diagc, 1, 0)
head(res)
[1] 0 0 0 0 0 0
答案 0 :(得分:0)
感谢您提供反馈
str()的提示让我得到了确认,问题可能出在数据类型中 - &gt;我用ANSI格式的csv文件中的数据重新完成整个过程,用&#34; stringsAsFactors = FALSE&#34;读取它们,并确保相关的答案和diagc确实是&#34; chr&#34; 。 第二次重复获得了所需的匹配,虽然我无法确切地指出我想要关闭这个问题的确切错误。 谢谢 基督教
PS:表单现在我将始终检查比较/匹配中涉及的元素的编码和类...