在R语言中处理指定点分隔文本数据时,应如何设置delim参数?
R语言文本数据处理:分隔符(delim)参数设置
问题说明
待处理的文本数据如下:
Casey.Brook-Smith.”1200 Clover Lane, Hamden, CT”.8605555812.10-24-2001
需要确定读取该数据时delim参数的正确值,并用read_*系列函数验证。用户尝试以下代码时触发错误:
# 创建数据框 df <- data.frame(Casey.Brook-Smith.”1200 Clover Lane, Hamden, CT”.8605555812.10-24-2001)
解决方法
- 确定分隔符:观察文本可以看到,各个字段之间是用**英文句号(.)**分隔的,所以
delim参数应设置为.。 - 正确读取方式:推荐使用
readr包的read_delim()函数来处理这类自定义分隔符的数据,步骤如下:- 先安装并加载
readr包(如果还没安装):install.packages("readr") library(readr) - 构造文本数据并读取:
# 定义待处理的文本内容 text_content <- "Casey.Brook-Smith.”1200 Clover Lane, Hamden, CT”.8605555812.10-24-2001" # 指定分隔符为.,同时自定义列名 df <- read_delim(text = text_content, delim = ".", col_names = c("姓名", "地址", "电话", "出生日期")) # 查看结果 df
- 先安装并加载
- 原代码错误原因:直接把未格式化的字符串传入
data.frame()不符合R的语法规则——data.frame()需要的是向量或键值对形式的输入,不能直接放一串未拆分的文本。
内容的提问来源于stack exchange,提问作者1393588
相关产品推荐
相关产品推荐

