作者tnzikom (tnzikom)
看板R_Language
标题[问题] 筛选组别和删除文字
时间Fri Jul 7 23:51:59 2017
[问题类型]:
程式谘询(我想用R 做某件事情,但是我不知道要怎麽用R 写出来)
[软体熟悉度]:
入门(写过其他程式,只是对语法不熟悉)
[问题叙述]:
1.想针对矩阵中前两个column来分组
2.想删除某一个column中的文字只留下数字
[程式范例]:
1.
有个矩阵类似这样
group class tall
1 one a 186
2 two a 178
3 one b 168
我想要筛选group=one且class=a的话应该要怎麽做呢?
output:
group class tall
1 one a 186
2.
另外则是在某一列中,column中有如下的文字,
那要怎麽只把294、39、462的数字部分留下来呢
amount
1 $294(294dollars)
2 $39(39dollars)
3 $462(462dollars)
output:
amount
1 294
2 39
3 462
谢谢!
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 140.112.222.151
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/R_Language/M.1499442722.A.445.html
1F:→ celestialgod: 1. m[m[,1]=="one" & m[,2]=="a"], m是你的矩阵 07/07 23:56
2F:→ celestialgod: 2. sub("^\\$(\\d+)", "\\1", v), v是你的向量 07/07 23:56
※ 编辑: tnzikom (140.112.222.151), 07/08/2017 02:36:13
3F:→ ianmao: 1. dplyr::filter(df, group == "one", class == "a") 07/08 08:45
4F:→ ianmao: df$amount <- stringr::str_replace(df$amount, pattern = 07/08 08:50
5F:→ ianmao: "\\$", replacement = "") 07/08 08:50
6F:→ ianmao: 第二题我忘了处理括号後面的部分,我重回 07/08 09:02
7F:→ ianmao: 先library(stringr)跟library(dplyr) 07/08 09:04
8F:→ ianmao: df$amount<-str_extract(df$amount, pattern = "^\\$[0-9] 07/08 09:08
9F:→ ianmao: +") %>% str_replace(pattern = "\\$", replacement="") 07/08 09:09