如何在R语言中将CSV文件中的TRUE和FALSE转为小写?
R语言中CSV文件TRUE/FALSE转小写的解决方法
问题根源
默认用read.csv()读取文件时,会自动把TRUE/FALSE解析为**逻辑型(logical)**数据,而tolower()只对字符型(character)数据生效,直接调用不会有预期效果。
具体解决步骤
读取文件时保留字符类型
读取CSV时要阻止R自动将布尔值转为逻辑型,两种实现方式:# 方式1:全局禁用因子转换,所有文本列保留字符型 df <- read.csv("your_file.csv", stringsAsFactors = FALSE) # 方式2:指定目标列为字符型(替换col_name为实际列名) df <- read.csv("your_file.csv", colClasses = c(col_name = "character"))转换目标列的布尔值为小写
对目标列调用tolower():# 单列转换(替换target_col为实际列名) df$target_col <- tolower(df$target_col) # 批量转换所有字符型列 df[sapply(df, is.character)] <- lapply(df[sapply(df, is.character)], tolower)写回修改后的CSV文件
write.csv(df, "modified_file.csv", row.names = FALSE)
验证
打开生成的modified_file.csv,就能看到TRUE/FALSE已转为小写的true/false。
内容的提问来源于stack exchange,提问作者user21390049
相关产品推荐
相关产品推荐

