如何分隔列中的值并将其转换为数值?

DN1

我有一个数据集,其中的值是折叠的,因此每一行每一列有多个输入。

例如:

Gene   Score1                      
Gene1  NA, NA, NA, 0.03, -0.3 
Gene2  NA, 0.2, 0.1   

我正在尝试将其解压缩,然后为该Score1选择每行的最大绝对值-并通过创建新列来跟踪最大绝对值以前是否为负值。

因此,示例的输出为:

Gene   Score1    Negatives1
Gene1   0.3          1
Gene1   0.2          0
#Score1 is now the maximum absolute value and if it used to be negative is tracked

我用以下代码编写:

dat2 <- dat %>%
  tidyr::separate_rows(Score1, sep = ",", convert = TRUE) %>%
  group_by(Gene) %>%
  #Create negative column to track max absolute values that were negative
  summarise(Negatives1 = +(min(Score1 == -max(abs(Score1))),
            Score1 = max(abs(Score1), na.rm = TRUE))

但是,由于某种原因,以上代码给了我这个错误:

Error: Problem with `summarise()` input `Negatives1`.
x non-numeric argument to mathematical function
i Input `Negatives1` is `+(min(Score1) == -max(abs(Score1)))`.
i The error occurred in group 1: Gene = "Gene1".
Run `rlang::last_error()` to see where the error occurred.

我虽然通过使用convert = TRUE它将使值成为数字-但是错误提示我运行后代码获取非数字值separate_rows()

输入数据示例:

structure(list(Gene = c("Gene1", "Gene2"), Score1 = c("NA, NA, NA, 0.03, -0.3", 
"NA, 0.2, 0.1")), row.names = c(NA, -2L), class = c("data.table", 
"data.frame"))
格雷戈尔·托马斯(Gregor Thomas)

如果我们看一下separate_rows结果,我认为问题就很清楚了:您分隔的列不是数字!我想convert没有捡起来。我们可以使用强制转换as.numeric()(并忽略警告-我们希望" NA"成为NA)。

您也有一些问题summarise-需要更多na.rm = TRUE,配对错误等。

dat %>%
  tidyr::separate_rows(Score1, sep = ",", convert = TRUE)
# # A tibble: 8 x 2
#   Gene  Score1 
#   <chr> <chr>  
# 1 Gene1  NA    
# 2 Gene1 " NA"  
# 3 Gene1 " NA"  
# 4 Gene1 " 0.03"
# 5 Gene1 " -0.3"
# 6 Gene2  NA    
# 7 Gene2 " 0.2" 
# 8 Gene2 " 0.1" 

dat %>%
  tidyr::separate_rows(Score1, sep = ",", convert = TRUE) %>% 
  mutate(Score1 = as.numeric(Score1)) %>% 
  group_by(Gene) %>%
  #Create negative column to track max absolute values that were negative
  summarise(
    Negatives1 = +(min(Score1, na.rm = TRUE) == -max(abs(Score1), na.rm = TRUE)),
    Score1 = max(abs(Score1), na.rm = TRUE)
  )
# `summarise()` ungrouping output (override with `.groups` argument)
# # A tibble: 2 x 3
#   Gene  Negatives1 Score1
#   <chr>      <int>  <dbl>
# 1 Gene1          1    0.3
# 2 Gene2          0    0.2

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何测试字符数据框中的数值,并将其转换为数值?

来自分类Dev

JavaScript:如何按分隔符拆分字符串并将其转换为键:值对

来自分类Dev

JavaScript:如何按分隔符拆分字符串并将其转换为键:值对

来自分类Dev

过滤每个文件中的文本,并将其转换为逗号分隔值列表

来自分类Dev

Scala Regex UDF抓取查询参数值并将其转换为逗号分隔列表

来自分类Dev

如何找到txt文件中使用的分隔符并将其转换为逗号分隔的csv?

来自分类Dev

如何将值转换为float并将其分配给Python中的字典?

来自分类Dev

如何在C#中读取指针的值并将其转换为字符串?

来自分类Dev

迭代R中的列并将其转换为日期时间

来自分类Dev

如何获取时间并将其转换为Python中的UTC

来自分类Dev

如何转换特定字符串以将键和值拆分为“ =”并将其转换为golang中的json

来自分类Dev

如何从CharField中获取字符串形式的值并将其转换为Django中的对象实例?

来自分类Dev

从数据框列表的同一列中查找所有重复值并将其转换为NULL

来自分类Dev

如何导入非逗号/制表符分隔的ASCII数值数据并将其呈现为向量(在MATLAB中)

来自分类Dev

我将如何获取一个excel文件并将其列转换为Python中的列表?

来自分类Dev

我将如何获取一个excel文件并将其列转换为Python中的列表?

来自分类Dev

如何仅保留行的最大值并将其他值转换为NA?

来自分类Dev

将值转换为二进制值并将其存储在数组中

来自分类Dev

将值转换为二进制值并将其存储在数组中

来自分类Dev

如何读取制表符分隔的值并将其放入列表中?

来自分类Dev

根据逗号获取数组列中的元素计数,并将其转换为自己的列

来自分类Dev

从Array对象中获取关键数据,并将其转换为一个分隔的字符串

来自分类Dev

如何使用SqlDataReader获取位值并将其转换为bool?

来自分类Dev

如何访问文本字段值并将其转换为double

来自分类Dev

如何获取具有值范围的列表并将其转换为数据框

来自分类Dev

如何获取数字形式的值并将其转换为字符串javascript

来自分类Dev

如何从字符串中选择特定值并将其转换为整数

来自分类Dev

Pyspark:如何查找前 5 行值并将其转换为 1,其余全部为 0?

来自分类Dev

如何通过模式识别列并将其转换为使用R的日期时间?

Related 相关文章

  1. 1

    如何测试字符数据框中的数值,并将其转换为数值?

  2. 2

    JavaScript:如何按分隔符拆分字符串并将其转换为键:值对

  3. 3

    JavaScript:如何按分隔符拆分字符串并将其转换为键:值对

  4. 4

    过滤每个文件中的文本,并将其转换为逗号分隔值列表

  5. 5

    Scala Regex UDF抓取查询参数值并将其转换为逗号分隔列表

  6. 6

    如何找到txt文件中使用的分隔符并将其转换为逗号分隔的csv?

  7. 7

    如何将值转换为float并将其分配给Python中的字典?

  8. 8

    如何在C#中读取指针的值并将其转换为字符串?

  9. 9

    迭代R中的列并将其转换为日期时间

  10. 10

    如何获取时间并将其转换为Python中的UTC

  11. 11

    如何转换特定字符串以将键和值拆分为“ =”并将其转换为golang中的json

  12. 12

    如何从CharField中获取字符串形式的值并将其转换为Django中的对象实例?

  13. 13

    从数据框列表的同一列中查找所有重复值并将其转换为NULL

  14. 14

    如何导入非逗号/制表符分隔的ASCII数值数据并将其呈现为向量(在MATLAB中)

  15. 15

    我将如何获取一个excel文件并将其列转换为Python中的列表?

  16. 16

    我将如何获取一个excel文件并将其列转换为Python中的列表?

  17. 17

    如何仅保留行的最大值并将其他值转换为NA?

  18. 18

    将值转换为二进制值并将其存储在数组中

  19. 19

    将值转换为二进制值并将其存储在数组中

  20. 20

    如何读取制表符分隔的值并将其放入列表中?

  21. 21

    根据逗号获取数组列中的元素计数,并将其转换为自己的列

  22. 22

    从Array对象中获取关键数据,并将其转换为一个分隔的字符串

  23. 23

    如何使用SqlDataReader获取位值并将其转换为bool?

  24. 24

    如何访问文本字段值并将其转换为double

  25. 25

    如何获取具有值范围的列表并将其转换为数据框

  26. 26

    如何获取数字形式的值并将其转换为字符串javascript

  27. 27

    如何从字符串中选择特定值并将其转换为整数

  28. 28

    Pyspark:如何查找前 5 行值并将其转换为 1,其余全部为 0?

  29. 29

    如何通过模式识别列并将其转换为使用R的日期时间?

热门标签

归档