如何从字符串中创建数据帧

时间:2014-02-26 06:28:23

标签: database string r substring data-manipulation

我有一个很长的字符串(800个变量* 100个案例),为简单起见缩短了(3个变量* 4个案例),我需要从中制作数据帧;

c("eriomo", "1", "r", ".", ".", "erioscue", "100", "r", ".", ".", "fantastic code", "4", "r", "100", "r-1")

我是r的新手并且已经广泛搜索了答案,但无济于事,所以如果难以遵循或措辞错误的技术术语,我道歉。 - 在有人要求之前,这是一个分类程序特别不友好的输出,通常我会从格式良好的csv读入。有没有一种快速的方法可以使数据看起来像这样;

“eriomo”“erioscue”“梦幻般的代码”

=>上面的变量(都有4个或更多字符)

“1r”“100 r”“4 r”

=>一行案例到相应的变量

=>是否可以将两个案例合并到每个相应变量

下的一列中

“..”“..”“100 r-1”

=>过程一直持续到2个案例(如果两个案例合并)或4个案例(如果没有合并)

从一个变量到下一个变量填补空白的所有“案例”都属于前一个(前一个)变量。

非常感谢任何帮助, Ĵ

1 个答案:

答案 0 :(得分:1)

我在描述你想要的东西后遇到了一些麻烦,但这是你在找什么?我将您提供的矢量存储在变量dat中。

mat <- matrix(dat, ncol=3)
header <- mat[1,]
df <- data.frame(mat[-1,])
names(df) <- header

最后,df是一个包含3个变量和44个观察值的数据框。