r - 打印两个字符对象中的公共(public)对象

标签 r string object character

我有两个字符对象,我需要查看它们共有多少个字符,然后打印它们。我很清楚他们有多少共同点,但我似乎无法弄清楚打印它们的代码。这是一个简单的例子:

LETTERS
list <- c("A", "H", "J", "K")
length(na.exclude(pmatch(LETTERS[1:20],list[1:3]))) 
print(pmatch(LETTERS[1:20],list[1:3]))

这打印:

  LETTERS
[1] "A" "B" "C" "D" "E" "F" "G" "H" "I" "J" "K" "L" "M" "N" "O" "P" "Q" "R" "S"
[20] "T" "U" "V" "W" "X" "Y" "Z"
  list <- c("A", "H", "J", "K")
  length(na.exclude(pmatch(LETTERS[1:20],list[1:3])))
[1] 3
  print(pmatch(LETTERS[1:20],list[1:3]))
[1]  1 NA NA NA NA NA NA  2 NA  3 NA NA NA NA NA NA NA NA NA NA

所以我知道有 3 个共同点并且我知道它们的位置,但是如何让它打印“A”“H”“J”?

最佳答案

尝试使用 %in%

> LETTERS[LETTERS %in% list]
[1] "A" "H" "J" "K"

例如:

myletters<-LETTERS[1:20]
> myletters[myletters %in% list[1:3]]
[1] "A" "H" "J"

替代方案:按照您的建议使用 pmatch

pmatch(list[1:3],myletters) # gives the indices
[1]  1  8 10

myletters[pmatch(list[1:3],myletters)] # get the letters
[1] "A" "H" "J"

关于r - 打印两个字符对象中的公共(public)对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18430315/

相关文章:

scala - Scala中嵌套对象的类型是什么

Java 8 可选择在分层对象中进行 null 检查

r - 如何简化R中的嵌套列表?

r - 更改 ggplot 上 ablines 的颜色

R:如何使用函数参数作为变量名的一部分

javascript - 使用 JavaScript 或 jQuery,如何将名称-值对字符串转换为对象?

Java动态绑定(bind)和方法重写过程

r - 如何阻止 ggplot2 将矩阵旋转 90 度?

r - 防止 plot.gam 生成图形

java - 包含不区分大小写的方法而无需进行重大代码更改?