【问题标题】:Error in UseMethod("select_") : no applicable method for 'select_' applied to an object of class "character"UseMethod(“select_”)中的错误:没有适用于“select_”的方法应用于“字符”类的对象
【发布时间】:2023-04-06 11:19:01
【问题描述】:

我正在尝试从作为分析结果的数据中提取一些列。数据由 592 行和 20 个变量组成。

当我运行如下代码时,我收到了 error 消息

"UseMethod("select_") 中的错误:没有适用于 'select_' 的方法应用于“字符”类的对象“

unused_cols <- -c(2:9)

pvals_long <- pvals %>%
  map(function(x){
    x <- x %>%
      dplyr::select(unused_cols) %>%
      gather(key = "celltype_pair", value = "pvalue", -interacting_pair)
    x
  })

提前致谢,

【问题讨论】:

  • 请您提供一些数据(使用dput(pvals))以便重现您的问题。

标签: r dplyr error-handling tidyverse


【解决方案1】:
  1. 不需要map。在数据框上映射意味着您正在尝试在每一列上应用您的函数。但是,select 需要一个数据帧,而在您的代码中它会得到一个向量。这就是错误告诉你的。
  2. unused_cols &lt;- -c(2:9) 将不起作用。将- 放入对select 的调用中。

试试这个:

unused_cols <- c(2:9)

pvals_long <- pvals %>%
    select(-unused_cols) %>%
    gather(key = "celltype_pair", value = "pvalue", -interacting_pair)

【讨论】:

  • 谢谢!我已经运行了修改后的代码,但我得到了另一个错误:(函数(类,fdef,mtable)中的错误:无法为签名'“spec_tbl_df”'的函数'select'找到继承的方法
  • 听起来像是名字冲突。参见例如heima.hafro.is/~einarhj/spatialr/bit_conflicts.html。尝试 dplyr::select 而不是仅选择以确保您从 dplyr 调用 select。 PS:我的错。 (;
猜你喜欢
  • 1970-01-01
  • 2020-05-25
  • 1970-01-01
  • 1970-01-01
  • 2021-10-09
  • 1970-01-01
  • 2019-04-07
  • 1970-01-01
  • 2019-09-12
相关资源
最近更新 更多