[英]copy specific value on a row based on conditions r
I have a dataset and I would like to copy the value of a specific cell on the first column.我有一个数据集,我想复制第一列上特定单元格的值。
Let's see if I can clarify it enough in an example.让我们看看我是否可以在一个例子中充分说明它。
High Master Protein Q8WHN2
Checked Confidence Annotated Sequence
FALSE High [K].GWSVNIEYTDDPHPR.[N]
FALSE High [R].LTQGTFSFLPDLTDDQISK.[Q]
FALSE High [-].MRLTQGTFSFLPDLTDDQISK.[Q]
High Master Protein A0A345UA09
Checked Confidence Annotated Sequence
FALSE High [R].DGEIILR.[Y]
FALSE High [R].DGEIILRYVSYSLLAGDPSVLEDR.[C]
FALSE High [-].MIDAFSR.[VIT]
FALSE High [R].YVSYSLLAGDPSVLEDR.[C]
and I would like it to become:我希望它变成:
High Master Protein Q8WHN2
Checked Confidence Annotated Sequence
Q8WHN2 High [K].GWSVNIEYTDDPHPR.[N]
Q8WHN2 High [R].LTQGTFSFLPDLTDDQISK.[Q]
Q8WHN2 High [-].MRLTQGTFSFLPDLTDDQISK.[Q]
High Master Protein A0A345UA09
Checked Confidence Annotated Sequence
A0A345UA09 High [R].DGEIILR.[Y]
A0A345UA09 High [R].DGEIILRYVSYSLLAGDPSVLEDR.[C]
A0A345UA09 High [-].MIDAFSR.[VIT]
A0A345UA09 High [R].YVSYSLLAGDPSVLEDR.[C]
So basically replace "FALSE" in col 1 with the value in row 1 col 3所以基本上用第 1 行第 3 行中的值替换第 1 列中的“假”
Hopefully you have enough information.希望你有足够的信息。
Note that your column names will not be V1-V3, so you have to modify the code accordingly:请注意,您的列名不会是 V1-V3,因此您必须相应地修改代码:
library(tidyverse)
d <- read.table(text = "High 'Master Protein' Q8WHN2
Checked Confidence 'Annotated Sequence'
FALSE High [K].GWSVNIEYTDDPHPR.[N]
FALSE High [R].LTQGTFSFLPDLTDDQISK.[Q]
FALSE High [-].MRLTQGTFSFLPDLTDDQISK.[Q]
High 'Master Protein' A0A345UA09
Checked Confidence 'Annotated Sequence'
FALSE High [R].DGEIILR.[Y]
FALSE High [R].DGEIILRYVSYSLLAGDPSVLEDR.[C]
FALSE High [-].MIDAFSR.[VIT]
FALSE High [R].YVSYSLLAGDPSVLEDR.[C]")
d %>%
mutate(my_fill = if_else(str_detect(V3, "\\[") | V3 == "Annotated Sequence", as.character(NA), V3),
V1 = if_else(!V1 %in% c("High", "Checked"), as.character(NA), V1)) %>%
fill(my_fill,.direction = "down") %>%
mutate(V1 = if_else(is.na(V1), my_fill, V1)) %>%
select(-my_fill)
# V1 V2 V3
# 1 High Master Protein Q8WHN2
# 2 Checked Confidence Annotated Sequence
# 3 Q8WHN2 High [K].GWSVNIEYTDDPHPR.[N]
# 4 Q8WHN2 High [R].LTQGTFSFLPDLTDDQISK.[Q]
# 5 Q8WHN2 High [-].MRLTQGTFSFLPDLTDDQISK.[Q]
# 6 High Master Protein A0A345UA09
# 7 Checked Confidence Annotated Sequence
# 8 A0A345UA09 High [R].DGEIILR.[Y]
# 9 A0A345UA09 High [R].DGEIILRYVSYSLLAGDPSVLEDR.[C]
# 10 A0A345UA09 High [-].MIDAFSR.[VIT]
# 11 A0A345UA09 High [R].YVSYSLLAGDPSVLEDR.[C]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.