R -我们可以从一个列中创建一个值列表,偶尔在单行中列出多个值吗?



我有一个df,它包含了很多基因和关于这些基因的信息。它看起来像这样

**Genes**              **Log2FC**       **SD**   **Pvalue** 
A2M                        2              3        0.001  
Aars                       4              4        0.001 
Actb;Actg1                 3              5        0.001
Cxcl1;Cxcl2;Cxcl3          5              6        0.001                                                                                               

我通常会做的是得到我想要的基因列表,比如df[,1]。然而,在这种情况下,一些行包含多个由";;;"分隔的基因。有可能把这些基因取出来吗?

使用df[,1]我将得到一个像…A2M, Aars, Actb, Actg1, Cxcl1, Cxcl2, Cxcl3

我想要的是:A2M, Aars, Actb, Actg1, Cxcl1, Cxcl2, Cxcl3

谢谢!

我可以在Excel中使用"文本到列"特性。但是我希望能在r中做所有的事情。如果有人能帮助我,我会非常感激的。

如果您希望每个基因在数据中都有自己的行,tidyr::separate_rows(your_data, Genes)应该工作。如果您希望基因作为不在数据框中的载体,则your_data$Genes |> strsplit(split = ";") |> unlist().

相关内容

最新更新