我有如下示例資料:
library(data.table)
dat <- fread("q1 q2 ...1 ..2 q3..1 ..1
NA response other else response other
1 4 NA NA 1 NA")
我想過濾掉所有在讀取缺少列名的 Excel 檔案時自動命名的列,這些列的名稱類似于..x. 我認為以下代碼可以作業:
grepl("\\. ", names(dat))
[1] FALSE FALSE TRUE TRUE TRUE TRUE
但它也會過濾掉與 column 具有相似結構的列q3..1。
雖然我不知道為什么將..x部分添加到這樣的列(因為它不是空的),但我想調整grepl代碼,以便結果是TRUE,除非結構是 ONLY ..x。
我該怎么做?
期望的輸出:
grepl("\\. ", names(dat))
[1] FALSE FALSE TRUE TRUE FALSE TRUE
uj5u.com熱心網友回復:
使用錨點^來說明點必須位于字串的開頭:
grepl("^\\. ", names(dat))
#[1] FALSE FALSE TRUE TRUE FALSE TRUE
uj5u.com熱心網友回復:
我們可以做
library(dplyr)
dat %>%
select(matches('^[^.] $'))
q1 q2
<int> <char>
1: NA response
2: 1 4
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/527688.html
標籤:rgrepl
下一篇:R繪制直方圖
