我的编程空间,编程开发者的网络收藏夹
学习永远不晚

R语言数据的输入和输出操作

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

R语言数据的输入和输出操作

数据的载入

R本身已经提供了超过50个数据集,而在众多功能包中,默认的数据集被存放在datasets程序包中,通过函数data()k可以查看系统提供所有的数据包,同时可以通过函数library()加载程序包中的数据。

矩阵型数据最常用的读取方式是read.table()具体的调用格式是()


read.table(file, header = FALSE, sep = "", quote = "\"'",dec = ".", numerals = c("allow.loss", "warn.loss", "no.loss"),row.names, col.names, as.is = !stringsAsFactors,
           na.strings = "NA", colClasses = NA, nrows = -1,skip = 0, check.names = TRUE, fill = !blank.lines.skip,strip.white = FALSE, blank.lines.skip = TRUE,
           comment.char = "#",allowEscapes = FALSE, flush = FALSE,stringsAsFactors = default.stringsAsFactors(), fileEncoding = "", encoding = "unknown", text, skipNul = FALSE)

file是要读的数据文件名称;header = TURE表示文件第一行变化变量名,sep = ""表示文件中的分割符为空格,dec = "."用来表示小数点的字符,

row.names, col.names,用来表示向量的行名与列名, na.strings = "NA"用来表示缺失值,skip = 0跳过前几行

读入数据后,可以通过简单的函数来查看数据的基本信息。mode(),names(),dim(), 且使用attach()函数,便可以直接通过变量名来获取变量中的信息,函数detach()用于执行相反的操作。

处理其他格式的软件

当数据量较少时,在EXCEL中复制好要用的数据然后导入到R中。


> data.excel = read.delim("clipboard")
> data.excel
    X X1 X2       value
1   1 Be Be  1.00000000
2   2  B Be -0.20154586
3   3 Mg Be -0.31724811
4   4 Al Be -0.03359098

当数据量很多时,利用RODBC软件包(提供r和各类数据库的一个借口如access和SQL server等)所提供的方法便可以实现对Excel数据的直接访问~

读取来自网页的数据

在实际的应用中,从网站上直接获取数据也是非常常见的,例如国家统计局官方发布的权威统计数据,中国人民银行网站发布的经济数据或其他专业财经网站提供的股市、期货、债券数据都是进行宏观数据分析工作时常用的数据源。R读取网页中的HTML表格数据,需要用到XML程序包提供的readHTMLTable()函数。


readHTMLTable(doc, header = NA,
              colClasses = NULL, skip.rows = integer(), trim = TRUE,
              elFun = xmlValue, as.data.frame = TRUE, which = integer(),
               ...)

doc给出的是HTML文件或者网页地址,which是返回网页中的那几个表格,注意如果网址较长没在输入时需要换行,使用函数gsub将字符中的换行符删去。


baseURL = gsub("\\n", "", baseURL)

数据的保存

数据处理的结果或者中间结果应该被妥善保存,最基本的保存工作的函数为cat()函数。


cat(... , file = "", sep = " ", fill = FALSE, labels = NULL, append = FALSE)

参数file指定了输出的文件名,若文件已存在则原来的内容将被覆盖,若将参数append = T,则是在文件末尾追加内容。


> car = file("K:/car.txt")
> cat("Make lp100km mass.kg List.price", "\"Alpha Remeo\" 9.5 1242 38500", "\"Audi A3\" 8.8 1160 38700", file = car, sep = "\n")
> close(car)

更常用的写文件方式是把一个矩阵或者数据框以矩形块的形式整体写入文件,用write.table()函数


write.table(x, file = "", append = FALSE, quote = TRUE, sep = " ", eol = "\n", na = "NA", dec = ".", row.names = TRUE,
            col.names = TRUE, qmethod = c("escape", "double"), fileEncoding = "")

数据预处理

常用的数学函数

sum(x) 对x中的元素求加和,

prod(x)对x中的元素求乘积,

max(x)/min(x)求x中元素的最大值和最小值,

range(x)返回取值范围,相当于[min(x),max(x)],

length(x)返回x中元素的个数,

median(x)返回x中元素的中位数,

var(x)求x中元素的方差,

sd(x)求x中元素的标准差,

cov(x,y)求x和y的协方差,

cor(x,y)求x和y的相关系数,

round(x,n)对x中的元素四舍五入,保留小数点后的第n位,

sort(x)/order(x)排序,默认升序,

rev(x)对x中的元素取逆序,

unique(x)对x中重复的元素只取一个,

table(x)统计x中完全相同的数据个数。

修改数据标签

names()函数可以获取数据集的列标签,dimnames()[[1]]表示对行标签进行操作如:dimnames()[[1]][1:3] = c("1","2","3")将数据的取1-3行的标签改为1-3,dimnames()[[2]]表示列。

缺失值的处理


> air_data = airquality[1:7,1:4]
> is.na(air_data)
  Ozone Solar.R  Wind  Temp
1 FALSE   FALSE FALSE FALSE
2 FALSE   FALSE FALSE FALSE
3 FALSE   FALSE FALSE FALSE
4 FALSE   FALSE FALSE FALSE
5  TRUE    TRUE FALSE FALSE
6 FALSE    TRUE FALSE FALSE
7 FALSE   FALSE FALSE FALSE
> sum(is.na(air_data))
[1] 3
> complete.cases(air_data)
[1]  TRUE  TRUE  TRUE  TRUE FALSE FALSE  TRUE
> complete.cases(air_data$Ozone)
[1]  TRUE  TRUE  TRUE  TRUE FALSE  TRUE  TRUE
is.na用来分析数据中是否含有缺失值,complete.cases则是判断每一行是否有缺失值,当数据量变大时,利用aggr()函数进行判断。
> air_data = airquality[1:31,1:4]
> aggr(air_data, las = 1, numbers = T)

图中的的小长条的长度表示各个变量的缺失数据的比例,可见wind和temp变量数据是完整的。

删除缺失样本


> data = air_data[complete.cases(air_data),]
> dim(data)
[1] 24  4
> data = na.omit(air_data)
> dim(data)
[1] 24  4

替换掉缺失值

用均值或者中位数去代替缺失值是通常的处理策略。


> air_data$Ozone[is.na(air_data$Ozone)] = median(air_data$Ozone[!is.na(air_data$Ozone)])

补充:R语言学习笔记--数据框输出和查看

(1)将数据框C输出为.csv文件


write.table(C,file="ABC.csv",sep = ",",row.names=FALSE)  

#ABC.csv将保存在R的工作目录下,当不加sep = " "时,输出的数据会在同一个单元格里,因此要加“,”。

(2)查看数据框C的行数和列数

行数:length(C[1, ])

列数:length(C[ ,1])

行数+列数:dim(C)

(3)查看数据框C的变量名即列名


colnames(C)

(4)查看数据框C的变量x1中不同值的个数


length(unique(C$x1))

(5)在console里的不同的输出方式

print()

cat ( )

换行的话加“\n”

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。如有错误或未考虑完全的地方,望不吝赐教。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

R语言数据的输入和输出操作

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

C语言怎么实现数据输入和输出

本文小编为大家详细介绍“C语言怎么实现数据输入和输出”,内容详细,步骤清晰,细节处理妥当,希望这篇“C语言怎么实现数据输入和输出”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。语句C语言的语句用来向计算机系统发出操
2023-07-02

R语言如何实现数据输入

这篇文章将为大家详细讲解有关R语言如何实现数据输入,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。首先,数据输入最直接最直观的方法就是键盘输入,在上面几篇都已经讲到,利用c创建向量,利用matrix创建矩阵
2023-06-14

Go语言IO操作输入输出底层原理及文件操作API

这篇文章主要为大家介绍了Go语言IO操作输入输出底层原理及文件操作API示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
2023-01-08

Ruby中输入输出操作的数据加密技巧

Ruby输入输出操作数据加密教程在当今的数据安全和隐私保护日益受到重视的时代,加密技术成为了确保信息传输过程中不被未授权访问的关键手段。特别是在处理大量敏感数据时,如何有效地对数据进行加密显得尤为重要。本文将介绍如何在Ruby语言中实现数据的输入输出操作以及数据加密,帮助
Ruby中输入输出操作的数据加密技巧
ruby2024-12-17

如何用 C 语言来进行文件输入输出操作

本篇内容主要讲解“如何用 C 语言来进行文件输入输出操作”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何用 C 语言来进行文件输入输出操作”吧!如果你打算学习 C 语言的输入、输出,可以从 s
2023-06-15

学习如何用 C 语言来进行文件输入输出操作

如果你打算学习 C 语言的输入、输出,可以从 stdio.h 包含文件开始。正如你从其名字中猜到的,该文件定义了所有的标准(“std”)的输入和输出(“io”)函数。

python基本文件操作(文件输入和输出

文件输入输出中常用的文件对象方法:open : 返回一个新的文件对象,调用该对象的上的方法可对文件进行任何操作readline: 读取一行数据包括结尾的换行符在内write: 将数据写入文件中close: 关闭文件对象; 举例:读取E盘中的
2023-01-31

JAVA语言的输入输出流详解(c)

详解b中的例子,详解[@more@]  1. BufferedReader是Reader的一个子类,它具有缓冲的作用,避免了频繁的从物理设备中读取信息。它有以下两个构造函数:BufferedReader(Reader in) Buffere
2023-06-03

Ruby:掌握输入输出操作,轻松进行数据转换

Ruby输入输出操作能进行数据转换吗?在编程的世界里,数据是一切的基础。而Ruby语言,以其简洁明了的语法和强大的功能,成为了许多开发者的首选。其中,数据的输入、输出以及转换,是编程中不可或缺的一部分。那么,在Ruby语言中,我们能否通过输入输出操作来进行数据转换呢?本文将为你
Ruby:掌握输入输出操作,轻松进行数据转换
ruby2024-12-17

利用Go语言实现不同数据类型的输出操作

标题:利用Go语言实现不同数据类型的输出操作Go语言作为一种简洁、高效的编程语言,提供了丰富的标准库,能够方便地操作不同数据类型并进行输出。本文将介绍如何利用Go语言实现对不同数据类型的输出操作,并附上具体代码示例。首先,我们先来看一下
利用Go语言实现不同数据类型的输出操作
2024-03-15

java怎么实现数据的输入和输出

在Java中,可以使用Scanner类来实现数据的输入和使用System.out.println()方法来实现数据的输出。以下是一个简单的示例代码,演示了如何使用Scanner类实现数据的输入和使用System.out.println()
2023-10-27

JAVA语言输入输出流的示例代码

这篇文章主要介绍了JAVA语言输入输出流的示例代码,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。public class IOStreamDemo { public
2023-06-03

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录