【问题标题】:Average of Multiple columns in dplyr getting error "must resolve to integer column positions, not a list"dplyr 中多列的平均值出现错误“必须解析为整数列位置,而不是列表”
【发布时间】:2017-08-04 18:56:34
【问题描述】:
 gene   HSC_7256.bam HSC_6792.bam HSC_7653.bam   HSC_5852

我的数据框看起来像这样,我可以以正常方式做到这一点,例如取出列使另一个数据框平均它,但我想在 dplyr 中做到这一点,我很难确定是什么问题

我正在做这样的事情

HSC<- EPIGENETIC_FACTOR_SEQMONK %>%
    select(EPIGENETIC_FACTOR_SEQMONK,gene)

我收到这个错误

错误:EPIGENETIC_FACTOR_SEQMONK 必须解析为整数列位置,而不是列表

所以我必须这样做取出所有 HSC 样本对它们进行平均

有人建议我做错了什么?那会很有帮助

【问题讨论】:

  • EPIGENETIC_FACTOR_SEQMONK 是您数据框中列的名称吗?如果没有,你不能select它。
  • 不是我的数据框的名称...

标签: r dplyr


【解决方案1】:

%&gt;% 函数将其左侧的任何内容拉到以下函数的第一个位置。如果你的数据框是EPIGENETIC_FACTOR_SEQMONK,那么这两个语句是等价的:

HSC <- EPIGENETIC_FACTOR_SEQMONK %>%
   select(gene)

HSC <- select(EPIGENETIC_FACTOR_SEQMONK, gene)

首先,我们使用%&gt;% 将EPIGENETIC_FACTOR_SEQMONK 传递给select,这通常用于dplyr 链中,因为dplyr 函数中的第一个参数是一个数据框。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-05-03
  • 2015-04-28
  • 1970-01-01
  • 2015-09-02
相关资源
最近更新 更多