使用dplyr僅對某些列執(zhí)行操作

我想將字符變量中的字符串轉(zhuǎn)換為NA。我可以通過以下方法完成:

d3 <- d3 %>%
  select_if(is.character) %>%
  na_if(., "Missing") %>%
  na_if(., "not done")  

但它顯然只在數(shù)據(jù)集中保留字符變量。如果我在沒有select_if的情況下嘗試,我會得到一個錯誤:

> d3 <- d3 %>%
+   na_if(., "Missing") %>%
+   na_if(., "not done")  
Error in as.POSIXlt.character(x, tz, ...) : 
  character string is not in a standard unambiguous format

我不知道為什么會這樣,因為我有兩個日期/時間變量,它們是POSIXct格式的:

 $ Date                              : POSIXct, format: "2015-10-26" "2015-12-07" "2016-01-19" "2016-04-11" ...
 $ DOB                               : POSIXct, format: "1967-01-20" "1967-01-20" "1967-01-20" "1967-01-20" ...

謝謝你給我一些建議。謝謝。

? 最佳回答:

如果我們想有選擇地對character列執(zhí)行此操作,同時保留其他列,請將mutateacross一起使用

library(dplyr) # version 1.0.4
d3 <- d3 %>%
   mutate(across(where(is.character), ~ 
                na_if(., "Missing") %>% 
                na_if("not_done")))

在舊版本的dplyr中,它應(yīng)該是mutate_if

d3 %>%
    mutate_if(is.character, ~ na_if(., "Missing") %>%
                              na_if("not_done"))

在較新的版本中,select_if可以替換為

d3 %>%
    select(where(is.character))
主站蜘蛛池模板: 国产伦精品一区二区三区免费迷| 国产精品自拍一区| 精品午夜福利无人区乱码一区| 成人免费一区二区三区在线观看| 精品亚洲一区二区| 亚洲国产一区视频| 痴汉中文字幕视频一区| 日本一区二区三区在线观看视频| 国产精品视频一区麻豆| 亚洲av成人一区二区三区| 亚洲午夜一区二区电影院| 亚洲AV本道一区二区三区四区 | 国模吧一区二区三区| 国产AV天堂无码一区二区三区| 成人免费视频一区| 韩国精品一区视频在线播放| 无码精品尤物一区二区三区| 蜜桃无码一区二区三区| 91久久精品国产免费一区| 无码视频一区二区三区在线观看| 91精品一区国产高清在线| 久久亚洲色一区二区三区| 精品视频一区二区三区| 中文字幕亚洲一区二区va在线| 一区二区三区四区在线视频| 久久国产午夜精品一区二区三区| 国产成人精品一区在线| 97久久精品午夜一区二区| 国产亚洲一区二区手机在线观看| 亚洲综合无码AV一区二区| 亚洲视频一区调教| 一区二区传媒有限公司| 精品无码国产一区二区三区麻豆| 国产产一区二区三区久久毛片国语| 后入内射国产一区二区| 国模少妇一区二区三区| 97久久精品无码一区二区| 精品一区二区久久久久久久网精| 一区二区三区免费精品视频| 国产丝袜美女一区二区三区| 一区二区三区在线观看|