【问题标题】:tidyr::pivot_longer coming up with :Error: Can't combine `TSPAN6` <character> and `MT-CO2` <double>tidyr::pivot_longer 出现 :Error: Can't combine `TSPAN6` <character> 和 `MT-CO2` <double>
【发布时间】:2020-10-29 07:14:29
【问题描述】:

我正在尝试使用 pivot_longer 函数将一长行基因 ID 转换为更长的列。 我正在使用以下代码:

file1 <- file1 %>%
  tidyr::pivot_longer(cols = -Gene.ID, names_to = "tissue", values_to = "counts")

我收到以下错误:

Error: Can't combine `TSPAN6` <character> and `MT-CO2` <double>.

我认为我需要将列的默认值设置为字符,但我不确定如何在不影响列中值的情况下这样做。欢迎任何想法!

【问题讨论】:

  • 将列转为字符,然后获取长格式数据。 file1 %&gt;%mutate(`MT-CO2` = as.character(`MT-CO2`)) %&gt;%tidyr::pivot_longer(......)
  • 感谢您的回答,我认为此数据中有多个列存在相同问题,可能需要一段时间才能全部编辑。有没有办法将整行基因名称更改为默认字符?
  • 要将所有列转换为字符,请尝试file1 %&gt;%mutate_all(as.character) %&gt;%tidyr::pivot_longer(......)
  • 这需要很长时间才能工作,所以我认为它正在完成整个文件
  • 请使用dput 或我们可以复制和使用的东西添加数据。了解how to ask a good questionhow to give a reproducible example

标签: r dplyr tidyr


【解决方案1】:

我可以使用它:

file1[, ] <- sapply(file1[, ], as.character)

【讨论】:

    猜你喜欢
    • 2021-09-07
    • 2018-02-09
    • 2022-01-08
    • 2021-05-28
    • 2020-10-06
    • 1970-01-01
    • 1970-01-01
    • 2015-12-03
    • 2014-09-27
    相关资源
    最近更新 更多