R:通过匹配另一列中的行来填充列中的行
这可能已经被问过很多次了,但我只发现了比我更复杂的案例,我真的不知道从哪里开始。我需要在数据框中添加一个新列(R:通过匹配另一列中的行来填充列中的行,r,R,这可能已经被问过很多次了,但我只发现了比我更复杂的案例,我真的不知道从哪里开始。我需要在数据框中添加一个新列(Condition),并根据列cellNr 我的数据框是熔化的。pC: cellNr value 1 G63 0.000000 2 G64 8.848623 3 G65 0.000000 4 G66 10.788718 5 B15 5.285402 6 B16 0.000000 7 B17 0.000000 8 C1
Condition
),并根据列cellNr
我的数据框是熔化的。pC:
cellNr value
1 G63 0.000000
2 G64 8.848623
3 G65 0.000000
4 G66 10.788718
5 B15 5.285402
6 B16 0.000000
7 B17 0.000000
8 C10 0.000000
9 C11 0.000000
我想添加一列条件
,并按如下方式填充:
cellNr value Condition
1 G63 0.000000 Growth
2 G64 8.848623 Growth
3 G65 0.000000 Growth
4 G66 10.788718 Growth
5 B15 5.285402 Burst
6 B16 0.000000 Burst
7 B17 0.000000 Burst
8 C10 0.000000 Cellularized
9 C11 0.000000 Cellularized
我们可以在
base R
中通过提取第一个字符(substr
),转换为因子,并指定标签和级别
molten.pC$Condition <- as.character(factor(substr(molten.pC$cellNr, 1, 1),
levels = c("G", "B", "C"), labels = c("Growth", "Burst", "Cellularized")))
molten.pC$Condition
#[1] "Growth" "Growth" "Growth" "Growth" "Burst"
#[6] "Burst" "Burst" "Cellularized" "Cellularized"
添加我对以上解决方案的想法:melter.pC$Condition真棒!谢谢
library(dplyr) #devel version (soon to be released `0.6.0`)
molten.pC %>%
mutate(Sub = substr(cellNr, 1, 1),
Condition = case_when(Sub=="G" ~"Growth",
Sub == "B" ~"Burst",
TRUE ~"Cellularized")) %>%
select(-Sub)
# cellNr value Condition
#1 G63 0.000000 Growth
#2 G64 8.848623 Growth
#3 G65 0.000000 Growth
#4 G66 10.788718 Growth
#5 B15 5.285402 Burst
#6 B16 0.000000 Burst
#7 B17 0.000000 Burst
#8 C10 0.000000 Cellularized
#9 C11 0.000000 Cellularized