R:如何对数据框列中的字符串进行子集化?

香橙花

样品是野生型或突变型。我想在数据框列中找到与受访者相关的野生型wt与突变型样本的数量在该列中,第一个字母表示突变体的数量,最后两位数字(之后)表示该组的总数。是和之间的区别mutResponderGroup1res.sign_mutated_group1orwttotalmut

# Number of samples in wild-type versus mutant with respect to the most significantly enriched genes 
total <- sum(as.numeric(res.sig %>%
                       filter(Group1=="Responder") %>%
                       mutate(last_letter = substr(n_mutated_group1,-2,-1)) %>%
                       pull(last_letter)))

mut <- sum(as.numeric(res.sig %>%
                        filter(Group1=="Responder") %>%
                        mutate(first_letter = substr(n_mutated_group1,1,1)) %>%
                        pull(first_letter)))

wt <- total-mut

签名

> dput(res.sig)
structure(list(Hugo_Symbol = c("ERCC2", "ERCC2", "AKAP9", "AKAP9", 
"HERC1", "HERC1", "HECTD1", "HECTD1", "MACF1", "MACF1", "MROH2B", 
"MROH2B", "KMT2C", "KMT2C"), Group1 = c("Non-Responder", "Responder", 
"Non-Responder", "Responder", "Non-Responder", "Responder", "Non-Responder", 
"Responder", "Non-Responder", "Responder", "Non-Responder", "Responder", 
"Non-Responder", "Responder"), Group2 = c("Rest", "Rest", "Rest", 
"Rest", "Rest", "Rest", "Rest", "Rest", "Rest", "Rest", "Rest", 
"Rest", "Rest", "Rest"), n_mutated_group1 = c("0 of 25", "9 of 25", 
"0 of 25", "6 of 25", "0 of 25", "6 of 25", "0 of 25", "6 of 25", 
"0 of 25", "6 of 25", "0 of 25", "6 of 25", "1 of 25", "7 of 25"
), n_mutated_group2 = c("9 of 25", "0 of 25", "6 of 25", "0 of 25", 
"6 of 25", "0 of 25", "6 of 25", "0 of 25", "6 of 25", "0 of 25", 
"6 of 25", "0 of 25", "7 of 25", "1 of 25"), p_value = c(0.00163083541184905, 
0.00163083541184905, 0.022289766970618, 0.022289766970618, 0.022289766970618, 
0.022289766970618, 0.022289766970618, 0.022289766970618, 0.022289766970618, 
0.022289766970618, 0.022289766970618, 0.022289766970618, 0.0487971536957187, 
0.0487971536957187), OR = c(0, Inf, 0, Inf, 0, Inf, 0, Inf, 0, 
Inf, 0, Inf, 0.111488645279478, 8.96952328636894), OR_low = c(0, 
2.56647319276964, 0, 1.33358819424024, 0, 1.33358819424024, 0, 
1.33358819424024, 0, 1.33358819424024, 0, 1.33358819424024, 0.00228988507629356, 
1.0079479819766), OR_high = c(0.38963976043749, Inf, 0.749856668137133, 
Inf, 0.749856668137133, Inf, 0.749856668137133, Inf, 0.749856668137133, 
Inf, 0.749856668137133, Inf, 0.992114690322592, 436.703138665198
), fdr = c(0.109265972593886, 0.109265972593886, 0.248902397838568, 
0.248902397838568, 0.248902397838568, 0.248902397838568, 0.248902397838568, 
0.248902397838568, 0.248902397838568, 0.248902397838568, 0.248902397838568, 
0.248902397838568, 0.467058471087594, 0.467058471087594)), row.names = c(NA, 
-14L), class = c("data.table", "data.frame"), .internal.selfref = <pointer: 0x000002adab171ef0>)

问题:

在这里,我得到的total是 asNA_real_而不是总数。

昆腾

您可以提取列中字符串total之后的所有内容,并且可以提取之前的所有内容您可以使用以下代码:ofmutof

library(tidyverse)
  total <- sum(as.numeric(res.sig %>%
                          filter(Group1=="Responder") %>%
                          mutate(first_letter = sub('.+of(.+)', '\\1', n_mutated_group1)) %>%
                          pull(first_letter)))
  
  mut <- sum(as.numeric(res.sig %>%
                            filter(Group1 == "Responder") %>%
                            mutate(last_letter = sub("\\of.*", "", n_mutated_group1)) %>%
                            pull(last_letter)))
  
  wt <- total-mut
  wt

输出重量:

[1] 129

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何通过从具有给定字符串且值小于 X 的列中删除所有行来对数据框进行子集化?

如何根据R中两列不匹配的值对数据框进行子集化?

如何使用包含另一个变量的部分字符串的列表对数据框进行子集化

使用作为字符串传递的条件对数据框进行子集化(动态子集化数据集)

如何根据从列中获取的字符串变量对数据框的列进行排序

如何基于熊猫数据框中的字符串选择行并对其进行子集化?

如何根据Python中列的字符串长度对数据框中的字符串进行切片?

R:如何對數據框列中的字符串進行子集化?

R:如何對數據框列中的字符串進行子集化?

如何根据R中的多个变量对数据框进行子集化

如何根据多个联合条件在 R 中对数据框进行子集化

如何使用python pandas根据特定的(字符串)列对数据框进行排序?

使用列名称字符串对数据框进行子集

如何使用R函数对数据框进行子集化,并在以后使用该数据框?

Python - 如何对数据框中的日期字符串进行排序?

R中数据框列中间的字符串匹配子集

如何在日期上对数据框进行子集化?

您如何基于列名对数据框进行子集化?

如何使用熊猫对数据框进行子集化?

如何根据索引号对数据框进行子集化?

如何使用基于R中最近位置的坐标对数据框中的行进行子集化

在 R 中,如何根据函数内部的值列表正确地对数据框进行子集化?

如何在R中的单列中按字符串标签对行值进行子集化?

如何使用R中的字符串向量对data.table进行子集化

如何在多列的小写值上对数据框进行子集化

R-如何使用整数索引对数据框的行进行子集化?

如何根据列表中的值对数据框进行子集化?

如何使用矩阵中的信息对数据框进行子集化?

如何根据二进制向量中的元素对数据框中的列进行子集