在R中读取.csv文件后数据全在一列,如何拆分?
解决R读取CSV数据全在一列的问题
先确认CSV的实际分隔符
用R查看文件前几行,明确数据的分隔符(逗号、分号或制表符等):# 替换为你的文件路径 head(readLines("人均GDP数据.csv"), 5)用正确参数读取文件
世界银行的CSV通常包含多层说明表头,可通过指定参数跳过无关行,并匹配正确分隔符:# 安装并加载readr包(更智能的CSV读取工具) install.packages("readr") library(readr) # 跳过前4行说明文字,自动识别分隔符 df <- read_csv("人均GDP数据.csv", skip = 4) # 若用base R的read.csv,手动指定参数 df <- read.csv("人均GDP数据.csv", sep = ",", quote = "\"", skip = 4, stringsAsFactors = FALSE)注意:
skip的数值可根据你实际看到的文件说明行数调整。若读取后仍在一列,用separate拆分
确认目标列为字符型后,按实际分隔符拆分列:library(tidyr) # 假设挤在一起的列名为"X",按逗号拆分,into参数内列名根据数据结构填写 df <- separate(df, col = X, into = c("国家名称", "国家代码", "1990", "1991", ...), sep = ",", fill = "right")
内容的提问来源于stack exchange,提问作者mironimo
相关产品推荐
相关产品推荐

