在文本挖掘时为数字收集正确数量的数字
Gathering the correct amount of digits for numbers when text mining
我需要在一组遵循相同标准布局的文档中搜索特定信息。
我用grep
在每一篇文档中找到关键词后,就继续收集感兴趣的数字或字符。
我要收集的一个数据是总功率,如下所示:
TotalPower: 986559. (UoPow)
因为我已经正确选择了这个摘录,所以我创建了以下函数来获取位置 n 和 m 之间的字符,其中 n 和 m 从右到左开始计数。
substrRight <- function(x, n,m){
substr(x, nchar(x)-n+1, nchar(x)-m)
}
需要说明的是,从“:”到986559,有2个space;从“.”到“(”,有一个space.
所以我写道:
TotalP = substrRight(myDf[i],17,9) [1]
其中 myDf
是包含所有相关观察值的字符向量。
第 [1] 行,在我遍历所有观察后,给出了我想要的数字,但我注意到当数字是 986559 时,结果是 98655。它根本不 "see" 9 作为最后一个数字。
该代码似乎适用于其余数据。这个数字(986559)确实是数据中最高的数字,也是唯一一个数量级为 10^5 的数字。
我怎样才能确保收集到每个号码中的所有数字?
感谢您的帮助。
我们可以使用正则表达式
提取.
之前的数字
library(stringr)
str_extract(str1, "\d+(?=\.)")
#[1] "986559"
\d+
表示一个或多个 digist 后跟正则表达式 lookaound .
我需要在一组遵循相同标准布局的文档中搜索特定信息。
我用grep
在每一篇文档中找到关键词后,就继续收集感兴趣的数字或字符。
我要收集的一个数据是总功率,如下所示:
TotalPower: 986559. (UoPow)
因为我已经正确选择了这个摘录,所以我创建了以下函数来获取位置 n 和 m 之间的字符,其中 n 和 m 从右到左开始计数。
substrRight <- function(x, n,m){
substr(x, nchar(x)-n+1, nchar(x)-m)
}
需要说明的是,从“:”到986559,有2个space;从“.”到“(”,有一个space.
所以我写道:
TotalP = substrRight(myDf[i],17,9) [1]
其中 myDf
是包含所有相关观察值的字符向量。
第 [1] 行,在我遍历所有观察后,给出了我想要的数字,但我注意到当数字是 986559 时,结果是 98655。它根本不 "see" 9 作为最后一个数字。
该代码似乎适用于其余数据。这个数字(986559)确实是数据中最高的数字,也是唯一一个数量级为 10^5 的数字。
我怎样才能确保收集到每个号码中的所有数字?
感谢您的帮助。
我们可以使用正则表达式
提取.
之前的数字
library(stringr)
str_extract(str1, "\d+(?=\.)")
#[1] "986559"
\d+
表示一个或多个 digist 后跟正则表达式 lookaound .