如何将数据点移动到单独的行中?

时间:2019-08-23 20:56:54

标签: r

Data currently looks like this:

Distance
0[]
1[.8]
2[.7 .5]
3[.8 .5 .2]
4[.4 .8 .8 .7]

我想要以下内容:

.8
.7
.8
.4
.5
.5
.8
.2
.8
.7

基本上,每行第一个数字,然后是第二个,然后是第三个

代码

data2 <- substring(data$Distance, 2) 
data3 <- data.frame(dist2 = scan(text=gsub("\\d+\\[|[^.0-9]+","\n",data2),quiet = TRUE))

这让我

.8
.7
.5
.8
.5
.2
.4
.8
.8
.7

在进入下一行之前,这使我在每一行中都有一个数字

1 个答案:

答案 0 :(得分:1)

在基数R中,您可以使用gsub删除除.之外的所有非数字和[之前的任何数字,然后使用read.table

 read.table(text=gsub("\\d+\\[|[^.0-9]+","\n",data$Distance))
    V1
1  0.8
2  0.7
3  0.5
4  0.8
5  0.5
6  0.2
7  0.4
8  0.8
9  0.8
10 0.7