91647


Rを使用してデータをクリーニングしています。  
下記に3つの列（ID, s1, s2）があり、s1には2つの欠測があります。  
s1に欠測がある場合、s2の同じ行をNAに置き換えた列を作成したいのですが、どなたかおしえていただけますか？

ID s1 s2  
1 2 1  
2 3 1  
3 2 3  
4 NA 2 ← ここにs1のNAを入れたい  
5 NA 2 ← ここにs1のNAを入れたい


CC BY-SA 4.0
2022-10-17T08:01:26.407
91646
2022-10-20T02:39:12.277
2022-10-20T02:39:12.277
47127
54886
question
r tidyverse rstudio
Rを使用して列の値を他の列にあるNAに置き換えたい


`dplyr` を使う場合。

[code]

    suppressMessages(library(dplyr))
    
    df <- data.frame(
        ID = 1:5, s1 = c(2, 3, 2, NA, NA), s2 = c(1, 1, 3, 2, 2)
    )
    
    df <- df %>% mutate(s2 = replace(s2, is.na(s1), NA))
    df
    
    #
      ID s1 s2
    1  1  2  1
    2  2  3  1
    3  3  2  3
    4  4 NA NA
    5  5 NA NA
    
[/code]


CC BY-SA 4.0
2022-10-17T08:08:25.337
91647
2022-10-17T08:08:25.337
47127
91646
answer