像数据查看器

时间:2017-08-25 19:39:48

标签: r dplyr rstudio

好的,所以我无法想象我的生活,我想根据部分字符串匹配过滤我的数据。这是我的数据,我只是显示我要过滤的列,但整个集合中有更多行。我只想显示以“CAO”开头的行 - 这在查看器中很容易实现

dataviewer image:

dataviewer image

基本上我想要R“代码”来重现这个确切的结果。我尝试过像这样使用grepl

filter(longdata, grepl("^CAO",longdata[,1]))

我尝试过使用子集

subset(longdata,longdata[,1]=="^CAO")

我已尝试用grepl进行子集,无论我做什么,我都无法弄明白。我是R的新手,请尝试彻底解释。

1 个答案:

答案 0 :(得分:2)

grepl的第二个参数在您的第一个代码中未被识别

library(tidyverse) #in this case access to dplyr and to tibble´s data_frame() function which preserves the spaces in the column names
longdata <- data_frame(`Issue ID`=c("CAO-2017-20", "CAO-2017-20", "CAO-2017-20", "AO-2017-20", "CA-2017-20"))
longdata %>% filter(grepl("CAO", `Issue ID`)) #patern "^CAO" also works

%>%是一个管道运算符,可以进一步传递先前操作的结果,此处由dplyr加载。

基本上我所做的是加载tidyverse套包(详见tidyverse here)。感兴趣的是tibbledplyr。 然后我使用tibble函数data_frame()创建了一个示例数据框 然后我应用了你建议的调整后的函数,即

filter(longdata, grepl("^CAO",`Issue ID`))

它的管道形式相同:

longdata %>% filter(grepl("CAO", `Issue ID`))