从每行中提取相似的数字以在R中生成新的数据帧

时间:2017-06-21 19:06:21

标签: r

我有一个如下所示的数据框:

matrix.Names。

# python3

import simplejson
import pandas

# /!\ if dtype=float here it is float numpy
df = pandas.read_csv('foo.csv', dtype=str) 
# here it is native float python
df['foo'] = df['foo'].apply(float) 

data = simplejson.dumps({'foo': df.values[0][0]})
# data = '{"foo": -482.044}'

对于很多行来说,这样的事情就像这样。有什么方法可以使用R代码提取每行中的23,24或25并将它们放入自己的数据框中?在任何特定行中是23,24还是25都是随机的。

1 个答案:

答案 0 :(得分:1)

我们可以使用str_extract

library(stringr)
sort(as.numeric(str_extract(v1, "(?<=_)[0-9]+")))

或另一个选项是sub

sort(as.numeric(sub("^[^_]+_(\\d+).*", "\\1", v1)))