当我将多个 Dataframe 列设置为空时,如果另一个 Dataframe 列为空,则原地变异可以正常工作。但是,变异后的列的类型会发生变化。如何在不改变列类型的情况下进行此操作?
从data1开始:
我得到数据2:
有什么想法如何做到这一点,而不改变任何列类型?也许保存所有列类型之前的变化,然后设置他们回来后,变化?
下面是我创建data1并将其转换为data2的代码:
options(stringsasfactors = FALSE)
col_1_ferment <- c(452,768,856,192,905,752) #numeric type
col_1_crutch <- c('15','34','56','49','28','37') #character type
col_1_grease <- c(TRUE,TRUE,FALSE,FALSE,TRUE,FALSE) #boolean type
col_1_pump <- as.factor(c("3","6","3","2","1","2")) #factor type
indicator_col <- c(2,NA,2,1,1,2) #numeric type
data1 <- data.frame(col_1_ferment, col_1_crutch, col_1_grease, col_1_pump, indicator_col, check.rows = TRUE)
data2 <- data1 %>% mutate(dplyr::across(starts_with("col_1_"), ~ ifelse(is.na(indicator_col), "", .x)))
1条答案
按热度按时间w41d8nur1#
可以使用
NA
代替""