首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将列表转换为列

将列表转换为列
EN

Stack Overflow用户
提问于 2018-10-15 16:57:03
回答 1查看 75关注 0票数 0

我的列表由用/分隔的元素组成,其中只有第一个元素包含名称miR-。我想将miR粘贴到/符号后面的所有元素,并将列表转换为列表I (2869、10527等)和列表元素并排排列的表或数据框。

列表

代码语言:javascript
复制
$`2869`
[1] "miR-539/539-5p"    "miR-135ab/135a-5p"

$`10527`
 [1] "miR-128/128ab"                                                                            
 [2] "miR-129-5p/129ab-5p"                                                                      
 [3] "miR-142-3p"                                                                               
 [4] "miR-145"                                                                                  
 [5] "miR-153"                                                                                  
 [6] "miR-140/140-5p/876-3p/1244"

输出:

代码语言:javascript
复制
2869  miR-539
2869  miR-539-5p
2869  miR-135ab
2869  miR-135a-5p
10527 miR-128
10527 miR-128ab
10527 miR-129-5p
10527 miR-129ab-5p
10527 miR-142-3p
...

Dput示例:

代码语言:javascript
复制
list(`6482` = c("miR-223", "miR-223", "miR-320abcd/4429", "miR-320abcd/4429", 
"miR-320abcd/4429", "miR-320abcd/4429", "miR-93/93a/105/106a/291a-3p/294/295/302abcde/372/373/428/519a/520be/520acd-3p/1378/1420ac", 
"miR-93/93a/105/106a/291a-3p/294/295/302abcde/372/373/428/519a/520be/520acd-3p/1378/1420ac", 
"miR-24/24ab/24-3p", "miR-24/24ab/24-3p", "miR-124/124ab/506", 
"miR-124/124ab/506", "miR-485-5p/1698/1703/1962", "miR-485-5p/1698/1703/1962", 
"miR-202-3p", "miR-202-3p", "miR-149", "miR-149", "miR-17/17-5p/20ab/20b-5p/93/106ab/427/518a-3p/519d", 
"miR-17/17-5p/20ab/20b-5p/93/106ab/427/518a-3p/519d", "let-7/98/4458/4500", 
"let-7/98/4458/4500", "miR-140/140-5p/876-3p/1244", "miR-140/140-5p/876-3p/1244"
), `4057` = c("miR-214/761/3619-5p", "miR-214/761/3619-5p"))
EN

回答 1

Stack Overflow用户

发布于 2018-10-15 18:03:51

我们可以使用strsplit来拆分由\stack分隔的字符串,以将列表转换为数据帧。最后,使用gsub为每个字符串添加"miR-"前缀。

代码语言:javascript
复制
df <- stack(lapply(lst, function(x) unlist(strsplit(x, split = "/"))))
df$values <- gsub("^(miR-)?(.*)", "miR-\\2", df$values)
df
#           values  ind
#1         miR-223 6482
#2         miR-223 6482
#3     miR-320abcd 6482
#4        miR-4429 6482
#5     miR-320abcd 6482
#6        miR-4429 6482
# ...
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52813041

复制
相关文章

相似问题

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