吴裕雄--天生自然 R语言开发学习:使用键盘、带分隔符的文本文件输入数据
R可从键盘、文本文件、Microsoft Excel和Access、流行的统计软件、特殊格
式的文件、多种关系型数据库管理系统、专业数据库、网站和在线服务中导入数据。

使用键盘了。有两种常见的方式:用R内置的文本编辑器和
直接在代码中嵌入数据。我们首先考虑文本编辑器。
R中的函数edit()会自动调用一个允许手动输入数据的文本编辑器。具体步骤如下:
(1) 创建一个空数据框(或矩阵),其中变量名和变量的模式需与理想中的最终数据集一致;
(2) 针对这个数据对象调用文本编辑器,输入你的数据,并将结果保存回此数据对象中。
在下例中,你将创建一个名为mydata的数据框,它含有三个变量:age(数值型)、gender
(字符型)和weight(数值型)。然后你将调用文本编辑器,键入数据,最后保存结果。
mydata <- data.frame(age=numeric(0),gender=character(0), weight=numeric(0))
mydata <- edit(mydata)


可以用编辑器修改变量名和变量类型(数值型、字符型)。还可以通
过单击未使用列的标题来添加新的变量。编辑器关闭后,结果会保存到之前赋值的对象中(本例
中为mydata)。再次调用mydata <- edit(mydata),就能够编辑已经输入的数据并添加新的
数据。语句mydata <- edit(mydata)的一种简捷的等价写法是fix(mydata)。
可以直接在你的程序中嵌入数据集。比如说,参见以下代码:
mydatatxt <- "
age gender weight
25 m 166
30 f 115
18 f 120
"
mydata <- read.table(header=TRUE, text=mydatatxt)
一个字符型变量被创建于存储原始数据,然后read.table()函数被用于处理字符串并返回数据框。

从带分隔符的文本文件导入数据
可以使用read.table()从带分隔符的文本文件中导入数据。此函数可读入一个表格格式
的文件并将其保存为一个数据框。表格的每一行分别出现在文件中每一行。其语法如下:
mydataframe <- read.table(file, options
其中,file是一个带分隔符的ASCII文本文件,options是控制如何处理数据的选项。


考虑一个名为studentgrades.csv的文本文件,它包含了学生在数学、科学、和社会学习的分数。
文件中每一行表示一个学生,第一行包含了变量名,用逗号分隔。每一个单独的行都包含了学生 8
的信息,它们也是用逗号进行分隔的。文件的前几行如下:


grades <- read.table("F:\\R\\data\\datastudentgrades.csv", header=TRUE,row.names="StudentID", sep=",")
# print data frame
grades
# view data frame structure
str(grades)

变量名Social Studies被自动地根据R的习惯所重命名。
列StudentID现在是行名,不再有标签,也失去了前置的0。Jane的缺失的科学课成绩被正确地
识别为缺失值。我不得不在Dan的姓周围用引号包围住,从而能够避免Thornton和III之间的空格。
否则,R会在那一行读出七个值而不是六个值。我也在O’Leary左右用引号包围住了,负载R会把
单引号读取为分隔符(而这不是我想要的)。最后,姓和名都被转化成为因子。
默认地,read.table()把字符变量转化为因子,这并不一定都是我们想要的情况。比如说,
很少情况下,我们才会把回答者的评论转化成为因子。你可用多种方法去掉这个行为。加上选项
stringsAsFactors=FALSE对所有的字符变量都去掉这个行为。此外,你可以用colClasses
选项去对每一列都指定一个类(比如说,逻辑型、数值型、字符型或因子型)。
grades <- read.table("F:\\R\\data\\studentgrades.csv", header=TRUE,row.names="StudentID", sep=",",
colClasses=c("character", "character", "character","numeric", "numeric", "numeric")
)
# print data frame
grades
# view data frame structure
str(grades)


吴裕雄--天生自然 R语言开发学习:使用键盘、带分隔符的文本文件输入数据的更多相关文章
- 吴裕雄--天生自然 R语言开发学习:R语言的安装与配置
下载R语言和开发工具RStudio安装包 先安装R
- 吴裕雄--天生自然 R语言开发学习:数据集和数据结构
数据集的概念 数据集通常是由数据构成的一个矩形数组,行表示观测,列表示变量.表2-1提供了一个假想的病例数据集. 不同的行业对于数据集的行和列叫法不同.统计学家称它们为观测(observation)和 ...
- 吴裕雄--天生自然 R语言开发学习:导入数据
2.3.6 导入 SPSS 数据 IBM SPSS数据集可以通过foreign包中的函数read.spss()导入到R中,也可以使用Hmisc 包中的spss.get()函数.函数spss.get() ...
- 吴裕雄--天生自然 R语言开发学习:R语言的简单介绍和使用
假设我们正在研究生理发育问 题,并收集了10名婴儿在出生后一年内的月龄和体重数据(见表1-).我们感兴趣的是体重的分 布及体重和月龄的关系. 可以使用函数c()以向量的形式输入月龄和体重数据,此函 数 ...
- 吴裕雄--天生自然 R语言开发学习:基础知识
1.基础数据结构 1.1 向量 # 创建向量a a <- c(1,2,3) print(a) 1.2 矩阵 #创建矩阵 mymat <- matrix(c(1:10), nrow=2, n ...
- 吴裕雄--天生自然 R语言开发学习:图形初阶(续二)
# ----------------------------------------------------# # R in Action (2nd ed): Chapter 3 # # Gettin ...
- 吴裕雄--天生自然 R语言开发学习:图形初阶(续一)
# ----------------------------------------------------# # R in Action (2nd ed): Chapter 3 # # Gettin ...
- 吴裕雄--天生自然 R语言开发学习:图形初阶
# ----------------------------------------------------# # R in Action (2nd ed): Chapter 3 # # Gettin ...
- 吴裕雄--天生自然 R语言开发学习:基本图形(续二)
#---------------------------------------------------------------# # R in Action (2nd ed): Chapter 6 ...
随机推荐
- 5.GIT使用问题
1.git命令显示总是像less 一样的效果问题 git config --global pager.branch false
- 和我一起从0学算法(C语言版)(三)
第二章 暴力求解(枚举法) 第一节 小学奥数题-程序求解 观察下面的加法算式: 祥 瑞 生 辉 + 三 羊 献 瑞 ------------------- 三 羊 生 瑞 气 ...
- 等和的分隔子集(dp)
晓萌希望将 1 到 N 的连续整数组成的集合划分成两个子集合,且保证每个集合的数字和是相等. 例如,对于 N = 3,对应的集合 1, 2, 3 能被划分成3和1,2两个子集合. 这两个子集合中元素分 ...
- Mac中制作USB系统启动盘
.iso镜像文件转 .dmg文件 hdiutil convert -format UDRW -o linuxmint.dmg ~/Desktop/linuxmint-19-cinnamon-64bit ...
- Spring Cloud服务间调用鉴权
学习使用Spring Cloud 微服务间的调用都是RestFul风格,如何保证调用之间的安全性,这是一个很重要的问题. 通过查阅资料http://wiselyman.iteye.com/blog/2 ...
- 黑马_10 Lucene:全文检索
10 Lucene:01.全文检索基本介绍 10 Lucene:02.创建索引库和查询索引 10 Lucene:03.中文分析器 10 Lucene:04.索引库维护CURD
- 中国文化产业基金越来越多,但IP变现难题为何仍未解决?
自始至终,中国商界领域的态势就有一个很明显的特征--哪里是风口.哪里是热点,企业就会蜂拥而至并集体掘金.一直到决出胜负,或者把整个风口"做烂"才罢休.很典型的案例就是电商领域已经呈 ...
- UI Automation技术获取cmd或Powershell命令提示符窗口的实时内容
事先打开的Powershell或cmd窗口中的文本,用其他方式难以拿到.但是用UI Automation可以轻松获取.本工具在窗体上加入了一个Timer控件,每秒钟都查找桌面上是否有Powershel ...
- [前端] VUE基础 (6) (v-router插件、获取原生DOM)
一.v-router插件 1.v-router插件介绍 v-router是vue的一个核心插件,vue+vue-router主要用来做SPA(单页面应用)的. 什么是SPA:就是在一个页面中,有多个页 ...
- 2017年3月16工作日志【mysql更改字段参数、java8 map()调用方法示例】
修改某个表的字段类型及指定为空或非空 >alter table 表名称 change 字段名称 字段名称 字段类型 [是否允许非空],变更字段名称及属性 >alter table 表名称 ...