首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将线条映射到R中的列列表中

将线条映射到R中的列列表中
EN

Stack Overflow用户
提问于 2020-10-27 02:49:43
回答 2查看 33关注 0票数 0

我有一个这样的chr向量:

代码语言:javascript
复制
t<-c("lucas","2","3","luciano","1","5","jack","1","luciana","2","3","4","5")

卢卡斯,2,3会是同一个客户。卢西亚诺,1,5将是不同的,以此类推。

我创建了两个向量,其中定义了每个客户端的限制。

代码语言:javascript
复制
start<-c(1,4,7,9)
end<-c(3,6,8,13)

我需要把它们映射到列列表中。所以我给每个客户留了一列。如果我点击它,我会打开每个客户矩阵。

在这种情况下,我设想一个列列表,有三行。如果我点击卢卡斯的名单,我会

卢卡斯2 3

卢西亚娜

卢西亚娜2 3 4 5

我能用地图做这件事吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-10-27 02:55:21

我不知道如何使用map,但mapply似乎运行得很好:

代码语言:javascript
复制
t<-c("lucas","2","3","luciano","1","5","jack","1","luciana","2","3","4","5")

start<-c(1,4,7,9)
end<-c(3,6,8,13)

output <- mapply(start, end, FUN = function(start_i, end_i){
  t[start_i:end_i]
})

或者,你可以喜欢名单上的名字,然后做一些类似的事情:

代码语言:javascript
复制
output <- mapply(start, end, FUN = function(start_i, end_i){
  t[(start_i+1):end_i]
})
names(output) <- t[start]

票数 0
EN

Stack Overflow用户

发布于 2020-10-27 04:23:26

您可以使用map,如@Gregor所示,但在您的示例中,我认为map2更合适,类似于@Dubukay所示的基本R选项mapply

我太困惑于点击和打开矩阵部分在你的问题,但也许你打算设置名单的名称。

代码语言:javascript
复制
list_vec <- purrr::map2(start, end, ~t[.x:.y])
names(list_vec) <- t[start] 
list_vec

#$lucas
#[1] "lucas" "2"     "3"    

#$luciano
#[1] "luciano" "1"       "5"      

#$jack
#[1] "jack" "1"   

#$luciana
#[1] "luciana" "2"       "3"       "4"       "5"      

因此,现在可以使用list_vec$lucas获取lucas的所有元素。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64547674

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档