[問題] 篩選組別和刪除文字

看板R_Language作者 (tnzikom)時間8年前 (2017/07/07 23:52), 8年前編輯推噓0(009)
留言9則, 2人參與, 最新討論串1/1
[問題類型]: 程式諮詢(我想用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://www.ptt.cc/bbs/R_Language/M.1499442722.A.445.html

07/07 23:56, , 1F
1. m[m[,1]=="one" & m[,2]=="a"], m是你的矩陣
07/07 23:56, 1F

07/07 23:56, , 2F
2. sub("^\\$(\\d+)", "\\1", v), v是你的向量
07/07 23:56, 2F
※ 編輯: tnzikom (140.112.222.151), 07/08/2017 02:36:13

07/08 08:45, , 3F
1. dplyr::filter(df, group == "one", class == "a")
07/08 08:45, 3F

07/08 08:50, , 4F
df$amount <- stringr::str_replace(df$amount, pattern =
07/08 08:50, 4F

07/08 08:50, , 5F
"\\$", replacement = "")
07/08 08:50, 5F

07/08 09:02, , 6F
第二題我忘了處理括號後面的部分,我重回
07/08 09:02, 6F

07/08 09:04, , 7F
先library(stringr)跟library(dplyr)
07/08 09:04, 7F

07/08 09:08, , 8F
df$amount<-str_extract(df$amount, pattern = "^\\$[0-9]
07/08 09:08, 8F

07/08 09:09, , 9F
+") %>% str_replace(pattern = "\\$", replacement="")
07/08 09:09, 9F
文章代碼(AID): #1PNwuYH5 (R_Language)
文章代碼(AID): #1PNwuYH5 (R_Language)