如何将数据框中的所有数字列转换为字符类型?
我想做一些比
dataframe$col <- as.character(dataframe$col)
因为我有很多数字列。
回答
在 中base R,我们可以使用以下 ie 循环之一遍历所有列,创建一个if/else条件来更改它
dataframe[] <- lapply(dataframe, function(x) if(is.numeric(x))
as.character(x) else x)
或者为数字列创建索引并仅在这些列上循环并分配
i1 <- sapply(dataframe, is.numeric)
dataframe[i1] <- lapply(dataframe[i1], as.character)
它可能更灵活 dplyr
library(dplyr)
dataframe <- dataframe %>%
mutate(across(where(is.numeric), as.character))