![](/img/trans.png)
[英]Assigning cell values of one raster to the adjacent cells of another using R
[英]Merge values in different cells of the same row into one cell using R
这是我的数据框的一部分。 我想添加一列并将不同单元格中的值合并到新添加的以逗号分隔的列中。
> df
X7 X8 X9 X10 X11 X12 X13 X14
1: CA6 CORT DFFA ENO1 MTOR PEX14 PGD PIK3CD
2: ARHGEF10L RCC2
3: ADORA3 RHOC ATP5F1 CAPZA1 CD53 CHI3L2 KCNA2 KCNA3
4: NOTCH2 ADAM30
5: BCL9 FMO5 PRKAB2 RNU1-4 CHD1L RNU1-3 RNU1-2 RNU1-1
6: ENSA MCL1 ADAMTSL4 GOLPH3L ADAMTSL4-AS1 MIR4257
这是预期的输出。
> df
X7 X8 X9 X10 X11 X12 X13 X14 X15
1: CA6 CORT DFFA ENO1 MTOR PEX14 PGD PIK3CD CA6,CORT,DFFA,ENO1,MTOR,PEX14,PGD,PIK3CD
2: ARHGEF10L RCC2 ARHGEF10L,RCC2
3: ADORA3 RHOC ATP5F1 CAPZA1 CD53 CHI3L2 KCNA2 KCNA3 ADORA3,RHOC,ATP5F1,CAPZA1,CD53,CHI3L2,KCNA2,KCNA3
4: NOTCH2 ADAM30 NOTCH2,ADAM30
5: BCL9 FMO5 PRKAB2 RNU1-4 CHD1L RNU1-3 RNU1-2 RNU1-1 ...
6: ENSA MCL1 ADAMTSL4 GOLPH3L ADAMTSL4-AS1 MIR4257 ENSA,MCL1,ADAMTSL4,GOLPH3L,ADAMTSL4-AS1,MIR4257
数据
structure(list(`X7` = c("CA6", "ARHGEF10L", "ADORA3",
"NOTCH2", "BCL9", "ENSA"), X8 = c("CORT", "RCC2", "RHOC", "ADAM30",
"FMO5", "MCL1"), X9 = c("DFFA", "", "ATP5F1", "", "PRKAB2", "ADAMTSL4"
), X10 = c("ENO1", "", "CAPZA1", "", "RNU1-4", "GOLPH3L"), X11 = c("MTOR",
"", "CD53", "", "CHD1L", "ADAMTSL4-AS1"), X12 = c("PEX14", "",
"CHI3L2", "", "RNU1-3", "MIR4257"), X13 = c("PGD", "", "KCNA2",
"", "RNU1-2", ""), X14 = c("PIK3CD", "", "KCNA3", "", "RNU1-1",
"")), row.names = c(NA, -6L), class = c("data.table", "data.frame"
), .internal.selfref = <pointer: 0x00000229e9f61ef0>)
使用tidyr::unite
会tidyr::unite
帮助。
library(dplyr)
library(tidyr)
df %>%
rowwise %>%
unite("x15", X7:X14, remove = FALSE, sep = ",", na.rm = TRUE)
x15 X7 X8 X9 X10 X11 X12 X13 X14
<chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr>
1 CA6,CORT,DFFA,ENO1,MTOR,PEX14,PGD,PIK3CD CA6 CORT DFFA ENO1 MTOR PEX14 PGD PIK3CD
2 ARHGEF10L,RCC2 ARHGEF10L RCC2 NA NA NA NA NA NA
3 ADORA3,RHOC,ATP5F1,CAPZA1,CD53,CHI3L2,KCNA2,KCNA3 ADORA3 RHOC ATP5F1 CAPZA1 CD53 CHI3L2 KCNA2 KCNA3
4 NOTCH2,ADAM30 NOTCH2 ADAM30 NA NA NA NA NA NA
5 BCL9,FMO5,PRKAB2,RNU1-4,CHD1L,RNU1-3,RNU1-2,RNU1-1 BCL9 FMO5 PRKAB2 RNU1-4 CHD1L RNU1-3 RNU1-2 RNU1-1
6 ENSA,MCL1,ADAMTSL4,GOLPH3L,ADAMTSL4-AS1,MIR4257 ENSA MCL1 ADAMTSL4 GOLPH3L ADAMTSL4-AS1 MIR4257 NA NA
您可以使用everyting()
而不是X7:X14
df %>%
rowwise %>%
unite("x15", everything(), remove = FALSE, sep = ",", na.rm = TRUE)
我无法让您的数据代码正常工作,但您可以使用rowwise
和paste
:
library('dplyr')
df2 <- df %>% rowwise %>% mutate(new_col = paste(X7, X8, X9, X10, X11, X12, X13, X14, sep = ","))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.