r中的文本分析
Text anlaysis in r
在 Base r 中,我如何获得
- Ref2 - Ref 的前 2 个首字母,例如AC12 = AC,AL34 = AL
- Street2 - 每条街道的第一个首字母,例如阿比阁 =
AC,艾伯特花园 = AG。
- 比较 Ref2 和 Street2 是否相同
- 然后只使用那些不相同的进一步
计算
您可以尝试以下方法
> substr(Ref2,1,2) ==gsub("[a-z| ]","",Street2)
[1] TRUE FALSE
您可以使用该逻辑向量从原始数据中删除 FALSE
值。
该代码的工作原理是仅从 Ref2
中获取前两个字符并从 Street2
.
中删除所有小写字符+空格
数据
Ref2 = c("AC12","AL34")
Street2=c("Abbey Court","Albert Gardens")
只需为想要提取大小写不一致或整个单词大小写相同的每个单词的首字母的任何人添加一个选项。
这还包括过滤 table 以便继续使用(使用 data.table)。
library(data.table)
library(stringr)
data_example <- data.table(Ref2 = c("AC12", "AL34", "AG34"),
Street = c("Abbey Court", "Albert gardens", "albert gardens"))
data_example <- data_example[tolower(str_extract(Ref2, "^.{2}")) == tolower(paste0(str_extract(Street, "^."), str_extract(Street, "(?<=\s).")))]
> View(data_example)
> data_example
Ref2 Street
1: AC12 Abbey Court
2: AG34 albert gardens
在 Base r 中,我如何获得
- Ref2 - Ref 的前 2 个首字母,例如AC12 = AC,AL34 = AL
- Street2 - 每条街道的第一个首字母,例如阿比阁 =
AC,艾伯特花园 = AG。 - 比较 Ref2 和 Street2 是否相同
- 然后只使用那些不相同的进一步
计算
您可以尝试以下方法
> substr(Ref2,1,2) ==gsub("[a-z| ]","",Street2)
[1] TRUE FALSE
您可以使用该逻辑向量从原始数据中删除 FALSE
值。
该代码的工作原理是仅从 Ref2
中获取前两个字符并从 Street2
.
中删除所有小写字符+空格
数据
Ref2 = c("AC12","AL34")
Street2=c("Abbey Court","Albert Gardens")
只需为想要提取大小写不一致或整个单词大小写相同的每个单词的首字母的任何人添加一个选项。
这还包括过滤 table 以便继续使用(使用 data.table)。
library(data.table)
library(stringr)
data_example <- data.table(Ref2 = c("AC12", "AL34", "AG34"),
Street = c("Abbey Court", "Albert gardens", "albert gardens"))
data_example <- data_example[tolower(str_extract(Ref2, "^.{2}")) == tolower(paste0(str_extract(Street, "^."), str_extract(Street, "(?<=\s).")))]
> View(data_example)
> data_example
Ref2 Street
1: AC12 Abbey Court
2: AG34 albert gardens