Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R:通过匹配另一列中的行来填充列中的行_R - Fatal编程技术网

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