2014-10-27 48 views
0

我编写此代码以获取包含以下文本的列名称列表。我得到的是包含以下文本的列号列表。我如何获取列名?如何获取R中的特定文本中找到的列名称数组?

grep("._text", colnames(my_dataset)) # Looking to a list of column names which contain '._text' in them. 

示例输出,我得到的是这样的: [1] 12 [2] 14 [3] 19

的种类,我期望输出的是这样的: [1 ] “name._text” [2] “phone._text” [3] “address._text”

+0

如果你的意思是直接匹配'.',因为在正则表达式中,一个非转义的'.'表示“匹配任何字符”。在R中,用'\\。'进行转义。 (所以你可能希望这个模式是'\\ ._ text'。) – jbaums 2014-10-27 08:01:08

回答

2

假设你的数据帧,叫做foo,你可以做这样的事情。

foo <- data.frame(abc._txt = 1, 
       ana.txt = 2, 
       bob._txt = 3, 
       cathy.csv = 4, 
       dan._txt = 5) 

grep("._txt", colnames(foo), value = TRUE) 

# grep("._txt", colnames(foo), value = TRUE) 
#[1] "abc._txt" "bob._txt" "dan._txt" 
+0

Thant很优雅 – user3422637 2014-10-27 06:08:30

+0

@ user3422637很高兴为您提供帮助。 – jazzurro 2014-10-27 06:09:09

1
colnames(my_dataset)[grep("._text", colnames(my_dataset))] 
相关问题