楼主: JLOGAN
2420 5

[程序分享] R语言票匹配数据,并提取出来 [推广有奖]

  • 3关注
  • 0粉丝

硕士生

16%

还不是VIP/贵宾

-

威望
0
论坛币
24 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
2830 点
帖子
87
精华
0
在线时间
97 小时
注册时间
2016-5-28
最后登录
2018-8-4

楼主
JLOGAN 发表于 2016-6-29 20:51:19 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
各位,R语言遇到一个问题:要通过表1中提取出A列第十位为A、B、C的数据,也就是得到表2。求指教 QQ截图20160629204144.png Q2.png

grep("^.{9}A|B|C|D|E|F|G.*$",x,value = TRUE),这样写不行,报错,跪求大神指教
QQ37.png

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:R语言 value alue 求指教 TRU

回帖推荐

jiangbeilu 发表于3楼  查看完整内容

沙发
十里春风 学生认证  发表于 2016-6-29 21:31:12
  1. substr(A[1],10,10)=='A'
复制代码
已有 1 人评分论坛币 收起 理由
admin_kefu + 10 热心帮助其他会员

总评分: 论坛币 + 10   查看全部评分

藤椅
jiangbeilu 学生认证  发表于 2016-6-29 23:15:16
  1. # 提取末尾是A,B,C的,你可以相应的改成第10位,都可以的
  2. x=c("AB","AC","FD","GH")
  3. y=1:4
  4. df0 <- data.frame(x,y)
  5. df0
  6. # 方法1
  7. df0[grep("[ABC]",substr(df0$x,2,2)),]
  8. # 方法2
  9. df0[substr(df0$x,2,2) %in% LETTERS[1:3],]
复制代码
已有 1 人评分论坛币 收起 理由
admin_kefu + 30 热心帮助其他会员

总评分: 论坛币 + 30   查看全部评分

板凳
jiaojiaojiaojia 发表于 2016-7-10 10:33:30
jiangbeilu 发表于 2016-6-29 23:15
substr(df0$x,2,2)
是什么意思?
为什么substr(df0$x,2,2)的得到结果是[1] "B" "C" "D" "H"
为什么不是得到AC?

报纸
felixzhao123 发表于 2016-7-10 12:34:32
  1. ####create sample data frame
  2. myData <- data.frame(x=c("767788776A878","7282198918272","728191872C872","726189983B234"),
  3.                      y=rnorm(4))
  4. ###load required packages
  5. require(dplyr)
  6. require(stringr)
  7. ### now filter x based on 10th letter in the string
  8. myData <- myData%>%filter(str_sub(x,10,10)%in%c("A","B","C"))
  9. myData
复制代码
已有 1 人评分论坛币 收起 理由
admin_kefu + 30 热心帮助其他会员

总评分: 论坛币 + 30   查看全部评分

地板
JLOGAN 发表于 2016-7-12 11:32:27
jiaojiaojiaojia 发表于 2016-7-10 10:33
substr(df0$x,2,2)
是什么意思?
为什么substr(df0$x,2,2)的得到结果是[1] "B" "C" "D" "H"
第2位数据开始,第2位数据结束,就是只匹配第2位数据,你查help文档就明白了

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

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