gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 01:58:44 25 4
gpt4 key购买 nike

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

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/

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