首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将数据拆分成列

将数据拆分成列
EN

Stack Overflow用户
提问于 2015-12-30 14:05:48
回答 1查看 51关注 0票数 0

我在一行中有一大块数字,我需要将其拆分成多列。

下面是一个例子:

代码语言:javascript
复制
P040120000000000000000001001101210000000120000000000

前三个数字是一个类别,接下来是九个,以此类推。我想不出一种方法来将它分成多个列或一个数据帧。我是R的新手,所以我会尽我最大的努力跟上大家的反应。谢谢!

EN

回答 1

Stack Overflow用户

发布于 2015-12-30 16:43:59

如果要提取的模式总是000 000000000 000000000 000000000 000000000 000000000 0000...,那么在R中有一种非常老式的方法。请注意,模式是3,9,9,9,9,y,其中y是那些不适合9个字符组成列的字符串。另请注意,这可以对长度超过52的字符串执行。

代码语言:javascript
复制
x<-"P040120000000000000000001001101210000000120000000000"
[1] "P040120000000000000000001001101210000000120000000000"

这里的字符串是"P040120000000000000000001001101210000000120000000000",您希望以这种方式将其提取到不同的列中

P04 012000000 000000000 000100110 121000000 00000

代码语言:javascript
复制
library(stringr)

x<-"P040120000000000000000001001101210000000120000000000"
Column1<-str_sub(x,1,3)
sub<-str_sub(x,4, nchar(x))
st<-1
en<-9
nchar(sub)
C<-as.character()
while (en!=nchar(sub)-(nchar(sub)%%9) )
{
  C<-cbind(C, str_sub(sub,st,en))
    st<-en+1
    en<-en+9
}
C<-cbind(C,str_sub(sub,en, nchar(sub)))
D<-data.frame(cbind(Column1,C))
D

Column1        V2        V3        V4        V5    V6
1     P04 012000000 000000000 000100110 121000000 00000
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34523851

复制
相关文章

相似问题

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