3070 10

[有偿编程] R语言删除分号间特定字符结尾的字符串 [推广有奖]

  • 0关注
  • 0粉丝

硕士生

95%

还不是VIP/贵宾

-

威望
0
论坛币
136 个
通用积分
35.0424
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
680 点
帖子
33
精华
0
在线时间
369 小时
注册时间
2016-2-9
最后登录
2025-4-23

楼主
巫山小女隔云别5 发表于 2020-10-13 13:38:17 |AI写论文
20论坛币
有偿请教一下:如何用R语言删除分号间特定字符结尾(-individual;-Non-standard;-Soviet Institute)的字符串,举个例子: 捕获.PNG 谢谢各位大佬了,手动处理受够了。。。。。。

关键词:R语言 字符串 Individual Institute individua

本帖被以下文库推荐

沙发
巫山小女隔云别5 发表于 2020-10-13 18:43:55
请各位大佬帮忙看看,哭了

藤椅
llb_321 在职认证  发表于 2020-10-13 20:54:02
如果你的数据都是这种四个字母开头的,可以试试下面的方法:
假设我们要处理的数据框data的A列
  1. library(stringr)
  2. B <- str_remove_all(data[,1], "[[:alpha:]]{4}[[:punct:]]{1}Individual\\;?") #删掉数据框第一列中的Individual,形成向量B
  3. B <- str_remove(B, "[[:alpha:]]{4}[[:punct:]]{1}Non-standard\\;?") #删掉向量B中的Non-standard
  4. B <- str_remove(B, "[[:alpha:]]{4}[[:punct:]]{1}Soviet[[:space:]]Institute\\;?")
  5. data <- cbind(data, B) #结果向量形成数据框第二列
复制代码

板凳
llb_321 在职认证  发表于 2020-10-13 21:01:17
主要的问题是要删除的项目有的在前面,有的在后面,有的是几个连着的,处理起来容易顾此失彼,所以一项一项地处理会好一些;
另外的问题是如果你的数据不是这种标准的四个字母形式,会比较麻烦。

报纸
巫山小女隔云别5 发表于 2020-10-13 21:03:21
llb_321 发表于 2020-10-13 20:54
如果你的数据都是这种四个字母开头的,可以试试下面的方法:
假设我们要处理的数据框data的A列
老哥,你那边对的吗? 我这边出来的结果好像不对的

地板
llb_321 在职认证  发表于 2020-10-13 21:27:17
我用你给的示例数据做的,结果正常,该删的都删了,不该删的都还在

7
llb_321 在职认证  发表于 2020-10-13 21:32:09
巫山小女隔云别5 发表于 2020-10-13 21:03
老哥,你那边对的吗? 我这边出来的结果好像不对的
A.rar (218 Bytes) 本附件包括:
  • A.csv
这是示例数据文件
data<-read.csv("A.csv", header= T)


8
llb_321 在职认证  发表于 2020-10-13 21:35:11
data <- cbind(data, B) #这是考虑你的原数据未必有第二列,所以用添加的方法,如果有第二列,直接 data[,2]<-B 即可

9
zerofung 学生认证  发表于 2020-10-14 09:47:29
Annotation 2020-10-14 095201.png

本论坛代码和文本显示堪忧,截图

10
zerofung 学生认证  发表于 2020-10-14 09:54:17
a <- c("aaa-Individual;bbb;cccd;ddd-Soviet Institute",
       "dafdsd;adgasdf;sdfasd-Non-standard;asdfsdgwrhrgd;hrtherdgd") %>% as.data.frame()

a$output <- apply(a,1,function(x) x %>% str_split(";") %>% unlist() %>%
        .[!grepl("(-Individual)$|(-Non-standard)$|(-Soviet Institute)$",.)] %>%
        str_c(collapse = ";"))

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-21 18:22