在长时间做Haskell之后尝试学习一些R我遇到了一个问题,我通常会使用unzip
1 和map
。
我有一系列字符串,每个字符串包含两个以下划线分隔的子字符串。我希望将这个序列“解压缩”成类似于数据帧或矩阵的东西,其中第一列是所有第一个子串的序列,第二列是所有第二个子串的序列。
R中是否有与unzip
类似的东西,在这里使用它会被认为是意识形态,还是我从错误的方向接近这个?
[1]给定一对(或更常见的任何类型的序列)对unzip
以明显的方式产生一对列表。
答案 0 :(得分:3)
你走在正确的轨道上。你想要strsplit
vec <- paste(letters,letters[26:1],sep='_')
out <- strsplit(vec,'_')
这就是一个列表..而且sapply会将向量输出。
data.frame(one = sapply(out,'[',1), two = sapply(out,'[',2))