楼主: leo1122
10241 6

[问答] 求如何用R提取字符串数字并进行后续运算 [推广有奖]

  • 0关注
  • 0粉丝

硕士生

18%

还不是VIP/贵宾

-

威望
0
论坛币
1522 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
642 点
帖子
25
精华
0
在线时间
238 小时
注册时间
2012-4-25
最后登录
2024-10-3

楼主
leo1122 发表于 2016-12-2 12:02:58 |AI写论文
5论坛币
有一个txt文档,其里面内容如下:
abcde
aaa666
太阳
月亮
NO1:5678
NO2:123456
88899
3344
6677

如何用R语言提取txt中的特定字段NO1:5678,NO2:NO2:123456,提取里面的数字,然后提取出来的数字5678和123456进行后续的R语言计算,NO1*NO2,并求出结果,多谢

最佳答案

jiangbeilu 查看完整内容

你说的是这个么?
关键词:如何用 字符串 ABCD txt R语言 字符串 如何

沙发
jiangbeilu 学生认证  发表于 2016-12-2 12:02:59
你说的是这个么?
  1. grep("NO",x,value=TRUE)
  2. [1] "NO1:5678"   "NO2:123456"
复制代码

藤椅
molonghouse 发表于 2016-12-2 12:32:34
分成进行,对每一行进行是否包含数值的判断,提取出包含数值的行;然后对这些行进行整理,删除,整理出只含有数值的矩阵,对这个矩阵进行数值化运算。理论上应该可以做到

板凳
houyunhuang 发表于 2016-12-2 18:48:37
  1. library(readr)

  2. x <- c('a123','h23b','No1234')
  3. y <- parse_number(x)
复制代码
已有 1 人评分论坛币 学术水平 热心指数 信用等级 收起 理由
leo1122 + 3 + 1 + 1 + 1 精彩帖子

总评分: 论坛币 + 3  学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

报纸
houyunhuang 发表于 2016-12-2 18:49:48
要给我币啊

地板
jiangbeilu 学生认证  发表于 2016-12-2 22:04:51
  1. x <- c("abcde","aaa666","太阳","月亮","NO1:5678","NO2:123456","88899","3344","6677")
  2. library(stringr)
  3. ## str_locate用来计算NO1:出现的位置
  4. str_locate(x,":[0-9]+")[,1]
  5. ## 用substring函数来提取
  6. y <- substring(x,str_locate(x,":[0-9]+")[,1]+1,)
  7. ## 再用as.numeric()来数值化
  8. as.numeric(y)
复制代码
然后,你可以做乘法运算了
已有 1 人评分论坛币 学术水平 热心指数 信用等级 收起 理由
leo1122 + 5 + 1 + 1 + 1 精彩帖子

总评分: 论坛币 + 5  学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

Tomorrow is another day!

7
leo1122 发表于 2016-12-2 23:11:40
jiangbeilu 发表于 2016-12-2 22:04
然后,你可以做乘法运算了
有没有直接提取NO字段,读取后面的数字,如果两个数据不在一起,这个脚本就不好用啦

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

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