R语言-创建基础数据表

一、R中的包

1、定义

包:是R函数、数据、预编译代码以一种定义完善的格式组成的集合。
库(library):计算机上存储包的目录 。

显示库所在的位置
.libPaths()
显示库中有哪些包:
library()
查询哪些包已加载并可使用:
search()

2、包的安装与载入

安装vcd包
install.packages("vcd")
载入vcd包
library(vcd)
更新已经安装的包
update.packages()
注意:一个包仅需要安装一次,但每次使用时需重新载入;在一个会话中,包只需载入一次。

输出某个包的简短描述以及包中的函数名称和数据集名称的列表:
help(package="package_name")
查看函数或数据集的更多细节
help()

3、显示包中的数据集

显示vcd包中数据集Arthritis的内容
Arthritis

image.png

运行数据集Arthritis自带的示例
example(Arthritis)
退出
q()

二、创建数据集

1、数据集

由数据构成的一个矩形数组,行表示观测,列表示变量。
R可以处理的数据类型(模式)包括数值型、字符型、逻辑型(TRUE/FALSE)、复数型(虚数)和原生型(字节)

2、数据结构

R拥有许多用于存储数据的对象类型,包括标量、向量、矩阵、数组、数据框和列表。

2.1向量

向量:用于存储数值型、字符型或逻辑型数据的一维数组。
向量创建函数:c()

a <- c(1, 2, 5, 3, 6, -2, 4)
b <- c("one", "two", "three")
c <- c(TRUE, TRUE, TRUE, FALSE, TRUE, FALSE)

函数解释:a是数值型向量,b是字符型向量,c是逻辑型向量。

向量访问函数:a[c(n, m)]
用于访问向量a中的第n个和第m个元素,如下例所示:



注意:标量是只含一个元素的向量,用于保存常量。例如

f <- 3
g <- "US"
h <- TRUE
2.2矩阵

矩阵是一个二维数组,只是每个元素都拥有相同的模式(数值型、字符型或逻辑型) 。

矩阵创建函数:matrix():

myymatrix <- matrix(vector, nrow=number_of_rows,
ncol=number_of_columns, byrow=logical_value, 
dimnames=list( char_vector_rownames, char_vector_colnames))

函数解释:
vector——矩阵的包含的元素
nrow和ncol——指定行和列的维数
dimnames——可选的、以字符型向量表示的行名和列名。
byrow——表明矩阵应当按行填(byrow=TRUE)还是按列填充
(byrow=FALSE) ,默认情况下按列填充。

例1:创建一个5×4的矩阵

image
2.3 数组

数组(array)与矩阵类似,但是维度可以大于2。

数组创建函数:array,形式如下
myarray <- array(vector, dimensions, dimnames)
函数解释:
vector——数组中包含的数据
dimensions——一个数值型向量,给出了各个维度下标的最大值
dimnames——是可选的、各维度名称标签的列表。

2.4 数据框

由于不同的列可以包含不同模式(数值型、字符型等)的数据,数据框的概念较矩阵来说更为一般。它与你通常在SAS、SPSS和Stata中看到的数据集类似。数据框将是你在R中最常处理的数据结构。

数据框创建函数:
data.frame(): mydata <- data.frame(col1, col2, col3,...)
函数解释:
col1、col2、col3等可为任何类型(如字符型、数值型或逻辑型)。每一列的名称可由函数names指定。

2.5 因子

变量可归结为名义型、有序型或连续型变量。
【1】名义型变量是没有顺序之分的类别变量。
【2】有序型变量表示一种顺序关系,而非数量关系。病情Status(poor、improved、excellent)是顺序型变量的一个上佳示例。
【3】连续型变量可以呈现为某个范围内的任意值,并同时表示了顺序和量。年龄Age就是一个连续型变量。
【因子】:类别(名义型)变量和有序类别(有序型)变量在R中称为因子(factor)。因子在R中非常重要,因为它决定了数据的分析方式以及如何进行视觉呈现。

2.6 列表

列表(list)是R的数据类型中最为复杂的一种。
一般来说,列表就是一些对象(或成分,component)的有序集合。列表允许你整合若干(可能无关的)对象到单个对象名下。
例如,某个列表中可能是若干向量、矩阵、数据框,甚至其他列表的组合。

列表创建函数list():
mylist <- list(object1, object2, ...)
还可以为列表中的对象命名:
mylist <- list(name1=object1, name2=object2, ...)

3、数据的输入
image
3.1 使用键盘输入数据

【1】用R内置的文本编辑器输入数据

a.创建一个空数据框(或矩阵),其中变量名和变量的模式需与理想中的最终数据集一致
b.针对这个数据对象调用文本编辑器,输入你的数据,并将结果保存回此数据对象中。

例:创建一个名为mydata的数据框,它含有三个变量:age(数值型)、gender(字符型)和weight(数值型)。然后调用文本编辑器,键入数据,最后保存结果。

> mydata <- data.frame(age=numeric(0),gender=character(0), weight=numeric(0))
> mydata <- edit(mydata)

【2】直接在程序中嵌入数据集

> mydatatxt <- "age gender weight 25 m 166 30 f 115 18 f 120"
> mydata <- read.table(header=TRUE, text=mydatatxt)
3.2 从带分隔符的文本文件导入数据

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

表2-2列出了常见的选项。


【例】:在D盘新建一个txt文档,输入数据(注意最后一行需要换行),更改后缀名为csv(转换为逗号分隔符文件)。用read.table()函数导入数据:
> mydataframe <- read.table("D:/test.csv")

3.3 导入 Excel数据

读取一个Excel文件的最好方式,就是在Excel中将其导出为一个逗号分隔文件(csv) ,并使用前文描述的方式将其导入R中。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,311评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,339评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,671评论 0 342
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,252评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,253评论 5 371
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,031评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,340评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,973评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,466评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,937评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,039评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,701评论 4 323
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,254评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,259评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,485评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,497评论 2 354
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,786评论 2 345