r - 根据另一列的字符串内容创建新列
问题描述
解决方案
另一种使用dplyr
and stringr
:
DF %>%
mutate(Gene = str_c("gene", str_extract(gene_Id, "_\\d(?=_)")),
Rest = str_extract(gene_Id, "(?<=_\\d_).*"),
P_Number = str_replace(str_extract(gene_Id, "P\\d"), "P", "PREP_"))
返回
gene_Id Count_F Gene Rest P_Number
1 No_id KL <NA> <NA> <NA>
2 P1_1_EXN KL gene_1 EXN PREP_1
3 P1_2_EXN KL gene_2 EXN PREP_1
4 P1_1_EXN_O KL gene_1 EXN_O PREP_1
5 P1_2_EXN_O KL gene_2 EXN_O PREP_1
6 P2_1_EXN KD gene_1 EXN PREP_2
7 P2_2_EXN KD gene_2 EXN PREP_2
8 P2_1_EXN_O KD gene_1 EXN_O PREP_2
9 P2_2_EXN_O KD gene_2 EXN_O PREP_2
10 P1nM1 KD <NA> <NA> PREP_1
11 P2nM1 KD <NA> <NA> PREP_2
我没有为<NA>
-cases 提供句柄。
推荐阅读
- python - 当使用熊猫有两个标题行时如何处理数据?
- python - 我的 Python 代码的一部分不起作用,但所有其他部分都正常
- c - 如何编写一个程序来查找长度为 n 的二进制字符串的数量,其中恰好包含三个 1,所有连续的
- ios - RxSwift:如何使用 ViewModel 在表格视图内的集合视图单元格中填充数据?
- python - 如何找到具有给定数字和的所有 n 位数字?
- verification - Dafny:更强的断言通过,而更弱的断言不通过
- vue.js - Refer `this` in App.vue cause undefined error
- python - MySql: ERROR 1045 (28000): Access denied for user using passwrod YES using cloud_sql_proxy
- angular - 为什么在使用 Angular CRUD 操作时需要在 get/post 方法中提及返回类型?
- android - Recycler View has lag when add Bitmap to it