如何确定数据框中包含的每个单个值是字符串?
此外,是否可以为数据框中包含的每个值添加前缀? (例如,将0.02
更改为"X0.02"
)
答案 0 :(得分:3)
我们可以用data.frame
遍历lapply
的列,转换为character
并将输出分配回数据集。 []
用于保留原始数据的属性,而不作为list
元素输出
dat[] <- lapply(dat, as.character)
或者如果至少有一个字符元素,则转换为matrix
然后再返回到data.frame
还将确保元素为character
as.data.frame(as.matrix(dat), stringsAsFactors = FALSE)
第二种情况
dat[] <- lapply(dat,function(x) paste0("X", x))
或者在tidyverse
library(dplyr)
library(stringr)
dat %>%
mutate_all(list(~ str_c("X", .)))