找出给定的数字在R的向量序列中的位置
我有三个变量a1,a2和a3找出给定的数字在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 <- 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)
。