Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
找出给定的数字在R的向量序列中的位置_R - Fatal编程技术网

找出给定的数字在R的向量序列中的位置

找出给定的数字在R的向量序列中的位置,r,R,我有三个变量a1,a2和a3 a1 <- 1:10 a2 <- 11:20 a3 <- 21:30 关于如何用简单的方法来做这件事,你有什么建议吗?这里的记录是你如何在问题中得出准确的结果 a1 <- 1:10 a2 <- 11:20 a3 <- 21:30 L<-list("a1"=a1,"a2"=a2,"a3"=a3) my.numbers <- c(1, 20, 22, 11) func<-function(item){

我有三个变量a1,a2和a3

a1 <- 1:10
a2 <- 11:20
a3 <- 21:30

关于如何用简单的方法来做这件事,你有什么建议吗?

这里的记录是你如何在问题中得出准确的结果

a1 <- 1:10
a2 <- 11:20
a3 <- 21:30

L<-list("a1"=a1,"a2"=a2,"a3"=a3)
my.numbers <- c(1, 20, 22, 11)

func<-function(item){
    my.numbers[which(my.numbers %in% item)]
}

Fin<-lapply(L, func)

for(i in 1:length(Fin)){
Index<-unlist(Fin[i])
name<-paste("a",i, sep="")
    for(i in 1:length(Index)){
       print(paste(Index[i], "in", name))
    }
}

[1] "1 in a1"
[1] "20 in a2"
[1] "11 in a2"
[1] "22 in a3"

a1这里的记录是如何得出问题的确切结果

a1 <- 1:10
a2 <- 11:20
a3 <- 21:30

L<-list("a1"=a1,"a2"=a2,"a3"=a3)
my.numbers <- c(1, 20, 22, 11)

func<-function(item){
    my.numbers[which(my.numbers %in% item)]
}

Fin<-lapply(L, func)

for(i in 1:length(Fin)){
Index<-unlist(Fin[i])
name<-paste("a",i, sep="")
    for(i in 1:length(Index)){
       print(paste(Index[i], "in", name))
    }
}

[1] "1 in a1"
[1] "20 in a2"
[1] "11 in a2"
[1] "22 in a3"

a1使用一对
purrr::map
函数,您可以跨数字工作,然后在其中跨
a
向量工作

我用
tibble::lst
创建了一个
a
向量列表,因为它将列表的名称设置为变量的名称,这样做很方便,因为列表项的名称很重要

库(tidyverse)
a_列表%
map_chr(函数(num){

使用两个
purrr::map
函数,您可以跨数字工作,然后在其中跨
a
向量工作

我用
tibble::lst
创建了一个
a
向量列表,因为它将列表的名称设置为变量的名称,这样做很方便,因为列表项的名称很重要

库(tidyverse)
a_列表%
map_chr(函数(num){
我猜是这样的:
L=mget(c(“a1”、“a2”、“a3”);lappy(L,intersect,my.number)
L=mget(c(“a1”、“a2”、“a3”);lappy(L,intersect,my.number)