R:如何将每行的矩阵转换为等长字符串到多列矩阵中?

Pau*_*l.j 1 string split r character

我有一个矩阵,有一列和多行,每行是相等长度的字符串,看起来像使用以下代码:

a = list("GTCA", "GACA")
library(plyr)
df <- ldply(a)
Run Code Online (Sandbox Code Playgroud)

我想将其转换为具有多列的矩阵,列数等于字符串长度.想要的结果应该看起来像执行以下代码:

a = list(c("G","T","C","A"), c("G","A","C","A"))
library(plyr)
df <- ldply(a)
Run Code Online (Sandbox Code Playgroud)

我怎么能在R?谢谢!

42-*_*42- 5

do.call(rbind, sapply(a, strsplit, "") )
#-------
     [,1] [,2] [,3] [,4]
[1,] "G"  "T"  "C"  "A" 
[2,] "G"  "A"  "C"  "A" 
Run Code Online (Sandbox Code Playgroud)

你说你想要一个矩阵,对吧?如果你想用plyr-functions 做到这一点,那么这成功了:

 da <- laply(a, strsplit, split="")
 da
#---------    
     1   2   3   4  
[1,] "G" "T" "C" "A"
[2,] "G" "A" "C" "A"
Run Code Online (Sandbox Code Playgroud)

如果你想要一个数据帧,那么使用ldply相同的参数.