筛选器功能dplyr似乎不起作用 [英] Filter function dplyr seems to be not working

查看:54
本文介绍了筛选器功能dplyr似乎不起作用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

假设我在R-Studio中加载了一个名为exprCore1的data.fram,df如下所示:

Let's presume I have a data.fram called exprCore1 loaded in R-Studio, the df looks like this:

   measure qid value
1   p5      1   0.2
2   p100    1   0.8
3   map     1   0.22
4   p5      2   0.4
5   p100    2   0.5
6   map     2   0.32

基本上,所有需要的都是测量方法为"map"的每一列.

Basically all want is every column in which the measurement method is "map".

我尝试了不同的方法,所有这些方法仅返回不带内容的0x4小标题.

I tried different approaches, all of them just return only a 0x4 tibble without content.

到目前为止我尝试过的:

What I tried so far:

library("dplyr", lib.loc="~/R/win-library/3.4")
exprCore1MapOverall <- dplyr::filter(exprCore1, measure == "map")

这只会返回:

# A tibble: 0 x 4
# ... with 4 variables: measure <chr>, queryID <chr>, value <dbl>, coreTag <chr>

我在这里想念什么?谁能帮我?

What am I missing here? Can anyone help me?

谢谢

也尝试过

exprCore1MapOverall <-filter(exprCore1, measure %in%c("map"))

Edit2:

我无法发布整个data.frame,也无法发布大量数据.我用

I cant post the whole data.frame, way to much data. I shrunk it using

exprCore1Fixed <- exprCore1[-c(30: 142082),]

这是exprCore1Fixed的输出

Here is the dput of exprCore1Fixed

structure(list(measure = c("num_ret        ", "num_rel        ", 
"num_rel_ret    ", "map            ", "R-prec         ", "bpref          ", 
"recip_rank     ", "ircl_prn.0.00  ", "ircl_prn.0.10  ", "ircl_prn.0.20  ", 
"ircl_prn.0.30  ", "ircl_prn.0.40  ", "ircl_prn.0.50  ", "ircl_prn.0.60  ", 
"ircl_prn.0.70  ", "ircl_prn.0.80  ", "ircl_prn.0.90  ", "ircl_prn.1.00  ", 
"P5             ", "P10            ", "P15            ", "P20            ", 
"P30            ", "P100           ", "P200           ", "P500           ", 
"P1000          ", "num_ret        ", "num_rel        ", "ircl_prn.0.70  ", 
"ircl_prn.0.80  ", "ircl_prn.0.90  ", "ircl_prn.1.00  ", "P5             ", 
"P10            ", "P15            ", "P20            ", "P30            ", 
"P100           ", "P200           ", "P500           ", "P1000          "
), queryID = c("1", "1", "1", "1", "1", "1", "1", "1", "1", "1", 
"1", "1", "1", "1", "1", "1", "1", "1", "1", "1", "1", "1", "1", 
"1", "1", "1", "1", "2", "2", "all", "all", "all", "all", "all", 
"all", "all", "all", "all", "all", "all", "all", "all"), value = c(752, 
5, 4, 0.1089, 0.2, 0.8, 0.25, 0.25, 0.25, 0.25, 0.1429, 0.1429, 
0.1429, 0.1429, 0.0342, 0.0342, 0, 0, 0.2, 0.1, 0.0667, 0.1, 
0.1, 0.03, 0.02, 0.008, 0.004, 2, 3, 0.0696, 0.0565, 0.0374, 
0.0345, 0.25, 0.1962, 0.1718, 0.151, 0.1192, 0.0525, 0.0335, 
0.0164, 0.0097), coreTag = c("Core_1", "Core_1", "Core_1", "Core_1", 
"Core_1", "Core_1", "Core_1", "Core_1", "Core_1", "Core_1", "Core_1", 
"Core_1", "Core_1", "Core_1", "Core_1", "Core_1", "Core_1", "Core_1", 
"Core_1", "Core_1", "Core_1", "Core_1", "Core_1", "Core_1", "Core_1", 
"Core_1", "Core_1", "Core_1", "Core_1", "Core_1", "Core_1", "Core_1", 
"Core_1", "Core_1", "Core_1", "Core_1", "Core_1", "Core_1", "Core_1", 
"Core_1", "Core_1", "Core_1")), .Names = c("measure", "queryID", 
"value", "coreTag"), row.names = c(NA, -42L), class = c("tbl_df", 
"tbl", "data.frame"))

推荐答案

使用

dplyr::filter(exprCore1, trimws(measure) == "map")

成功了,非常感谢.

这篇关于筛选器功能dplyr似乎不起作用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆