R语言中逗号报错怎么办 r语言意外的逗号_缺失值


本文主要介绍数据基本的输入与输出方法,内容包括:

  • 1. 数据的输入
  • 1.1 scan(), edit(), fix()
  • 1.2 调用 R 包自带数据
  • 1.3 调用本地数据
  • 2. 数据的输出

1. 数据的输入

1.1 scan(), edit(), fix()

手动输入数据主要有以下几种方式:


x <- c()
# c() 进行赋值

x <- scan()
x <- scan(what = "")
x <- scan(what = list())
# scan() 手动输入数值型数据
# scan(what = "") 手动输入字符型数据
# scan(what = list()) 手动输入多种类型数据

x <- data.frame()
x <- edit(x)
# edit(x) 手动填制表格
fix(x)
# 同上


  • scan() 生成一维数据结构


R语言中逗号报错怎么办 r语言意外的逗号_c++中整形输入逗号_02

输入 scan() 手动输入数值数据,空格分隔,连续按两次 enter 结束输入


R语言中逗号报错怎么办 r语言意外的逗号_缺失值_03

使用 scan(what = &amp;amp;amp;quot;&amp;amp;amp;quot;) 输入字符型数据,空格分隔,连续两次 enter 结束输入

R语言中逗号报错怎么办 r语言意外的逗号_R语言中逗号报错怎么办_04

使用 list() 输入混合型数据,空格分隔,单次 enter 完成一条数据的输入,连续两次enter结束输入,生成一个列表

  • edit(), fix() 将数据输入二维数据结构
x <- data.frame()
x <- edit(x)
fix(x) # 与上一行代码效果相同,效果如下图所示


R语言中逗号报错怎么办 r语言意外的逗号_手动输入_05

手动填入数据,同时可以对变量名和变量类型进行修改,界面类似 excel 。

1.2 调用 R 包自带数据

实现调用 R 包自带数据主要通过 data() 函数实现:


data() # 查看 R 自带所有的数据集
data(package = "ggplot2") # 查看 ggplot2 程辑包中自带的数据集
data(mpg, package = "ggplot2") # 将 ggplot2 中的 mpg 数据集加入到 environment 中


1.3 调用本地数据

实现调用本地数据可以通过在 Environment 窗口栏选择 Import Dataset,或通过 http://read.xxx() 函数读取本地数据。

  • Environment - Import Dataset


R语言中逗号报错怎么办 r语言意外的逗号_缺失值_06


图中,From Text(base) 表示使用 base 包的读取函数从本地读取文件;From Text(readr) 则表示使用 readr 包的读取函数读取数据,并且除了本地数据,还可以通过 URL 下载 txt 数据;From Excel 从本地读取 excel 文件;最后三个选项则是从其他统计软件读取数据。这里只介绍 From Text(base):


R语言中逗号报错怎么办 r语言意外的逗号_R语言中逗号报错怎么办_07


Name 对数据集命名;Encoding 表示编码,如果数据中的中文字符出现乱码,可以尝试选择 utf-8;Heading 控制是否将第一行作为列名,Yes 为是;Row names 控制行名,可以选择将第一列作为行名,也可以选择用数字表示;Separator 识别分隔符号,如图中将逗号(Comma) 识别为分隔号,若将其他符号识别为分隔号,则读取的数据形式不正确;na.strings 控制用什么填补缺失值,图中使用 NA;Strings as factors 勾选将字符型变量转换为因子型变量。设置完成以后 Import 载入数据。

read.table("filename", header = T, stringsAsFactors = T, na.strings = "NA", fill = T, row.names = 1)
read.csv("filename", ...)


header = T 将第一行作为列名;stringsAsFactors = T 将字符型变量转换为因子型变量;na.strings = "NA" 用 NA 填补缺失值;fill = T 自动填补缺失值;row.names = 1 将第一列作为行名。

初学者大多数接触到的都可以使用 read.table() 和 read.csv() 读取,上面罗列了几个常用的参数。其他参数可以参考:https://www.jianshu.com/p/90e1d430c9ef

2. 数据的输出

与输入相对,数据的输出代码由 http://write.xxx() 完成,实现方法如下:


write.table(dataset, file = "filename", append = F, 
            quote = T, sep = " ", eol = "n", 
            na = "NA", dec = ".", row.names = T,
            col.names = T, qmethod = c("e", "d"),
            fileEncoding = "utf-8")
write.csv(...)


append = F 新写入的数据会将原始数据覆盖,T 则向后添加的方式继续写入;quote = T 字符型变量和因子型变量被双引号修饰;sep = " " 设置字段分隔符号;eol = "n" 在每行数据末端添加换行符;na = "NA" 用 NA 表示缺失值;dec 控制小数点字符;row.names/ col.names = T 将行/列名写入文件,也可用于直接指定行/列名;qmethod 设置 quote 的双引号如何表达,为 "e" 则用 " 表达,为 "d" 则用 ' " ' 表达。