考虑具有混合数据类型的 data.frame。
出于奇怪的目的,用户需要将所有列转换为字符。
怎么做最好?解决方案的 tidyverse 尝试是这样的:
map(mtcars,as.character) %>% map_df(as.list) %>% View()
c2<-map(mtcars,as.character) %>% map_df(as.list)
当我打电话时
str(c2)
它应该说一个包含所有字符的 tibble 或 data.frame。另一个选项是
write.csv()
的一些参数设置或在 write_csv()
在生成的文件输出中实现相同的功能。
最佳答案
编辑:2021-03-01
从 dplyr 1.0.0 开始,_all()
函数变体被取代。实现此目的的新方法是使用新的 across()
功能。
library(dplyr)
mtcars %>%
mutate(across(everything(), as.character))
与 across()
,我们使用 tidyselect helpers 选择要修改的列集(这里我们使用 everything()
来选择所有列),然后指定我们要应用于每个选定列的函数。在这种情况下,即 as.character()
.原答案:
您也可以使用
dplyr::mutate_all
.library(dplyr)
mtcars %>%
mutate_all(as.character)
关于r - 将所有列转换为 data.frame 中的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43789278/