相关疑难解决方法(0)

将数据框字符串列拆分为多个不同的列

我想要完成的是将列拆分为多个列.我希望第一列包含"F",第二列"US",第三列"CA6"或"DL",第四列是"Z13"或"U13"等等.我的整个df遵循相同的模式X.XX.XXXX.XXX或X.XX.XXX.XXX或X.XX.XX.XXX我知道第三列是我的问题所在,因为长度不同.我过去只使用了substr,我可以在这里使用一些if语句,但是想学习如何使用stringr包和POSIX来做到这一点(除非有更好的选择).先感谢您.

这是我的df:

c("F.US.CLE.V13", "F.US.CA6.U13", "F.US.CA6.U13", "F.US.CA6.U13", 
"F.US.CA6.U13", "F.US.CA6.U13", "F.US.CA6.U13", "F.US.CA6.U13", 
"F.US.DL.U13", "F.US.DL.U13", "F.US.DL.U13", "F.US.DL.Z13", "F.US.DL.Z13"
)
Run Code Online (Sandbox Code Playgroud)

split r dataframe stringr

27
推荐指数
3
解决办法
9万
查看次数

r data.frame创建新变量

我有一个大约150万行和5列的数据帧.一个变量(VARIABLE)属于这种类型NATIONALITY_YEAR(例如SPAIN_1998),我想将它分成两列,一列包含国籍,这是在下划线之前的名称的左侧,另一列包含年份,右侧下划线.我尝试过concat.split,这应该是最简单的方法:

aa <- concat.split(mydata, "VARIABLE", sep = "_", drop = F)
Run Code Online (Sandbox Code Playgroud)

但运行2小时后它没有产生任何输出.我不确定是否应该让它运行更长时间,或者是否有非耗时的方法来执行此操作.

对此问题的任何帮助将非常感谢!

这是一个可重现的(子集!)样本:

mydata<-  structure(list(PROVINCE = c(1L, 4L, 7L, 8L, 11L, 14L, 17L, 20L, 
24L, 28L, 30L, 33L, 36L, 41L, 44L, 46L, 48L, 3L, 6L, 8L, 10L, 
13L, 15L, 18L, 23L, 26L, 29L, 31L, 35L, 38L, 41L, 46L, 47L, 2L, 
4L, 8L, 8L, 11L, 15L, 17L, 21L, 24L, 28L, 30L, 33L, 37L, 41L, 
45L, 46L, 49L, 3L, 6L, 8L, 10L, 13L, 15L, 19L, 23L, 27L, 29L, 
32L, 36L, 39L, …
Run Code Online (Sandbox Code Playgroud)

r data-manipulation dataframe

3
推荐指数
2
解决办法
736
查看次数

通过正则表达式在由"."分隔的字符上拆分数据框列.

在R中,我有以下数据帧:

     Name     Category
1    Beans    1.12.5
2    Pears    5.7.9
3    Eggs     10.6.5
Run Code Online (Sandbox Code Playgroud)

我想要的是以下内容:

     Name     Cat1    Cat2    Cat3
1    Beans    1       12      5
2    Pears    5       7       9
3    Eggs     10      6       5
Run Code Online (Sandbox Code Playgroud)

理想情况下,在plyr中构建的一些表达式会很好......

我会调查我的一面,但搜索这个可能需要我很多时间,我只是想知道你们中有些人是否有一些提示来执行此操作......

regex r plyr

2
推荐指数
1
解决办法
186
查看次数

替换字符串数据框

我有这样的文件

1880.1.1    74
1881.1.1    74
1882.1.1    75
1883.1.1    79
1884.1.1    111
1885.1.1    145
Run Code Online (Sandbox Code Playgroud)

我想创建一个这样的数据帧

1880    1    1  74
1881    1    1  74
1882    1    1  75
1883    1    1  79
1884    1    1  111
1885    1    1  145
Run Code Online (Sandbox Code Playgroud)

但是当我尝试使用gsub功能时,我失败了......非常感谢!

r

1
推荐指数
1
解决办法
85
查看次数

标签 统计

r ×4

dataframe ×2

data-manipulation ×1

plyr ×1

regex ×1

split ×1

stringr ×1