2、矩阵是一个二维数组,每个元素都拥有相同的模式,可通过函数matrix()创建矩阵。
3、数组是一个可以在两个以上维度存储数据的数据对象。例如,如果创建尺寸(2,3,4)的数组,那么就是创建4个矩形矩阵每个2行3列。数组只能存储数据类型。
4、矩阵和数组一样都只能包含一种数据类型,当有多种模式的数据时,使用数据框就更为方便。数据框可以用函数data.frame () 创建。
5、$ 被用来选取一个给定数据框中的某个特定变量。
6、attach()绑定数据集,detach()解除数据集。
7、with:attach,detach最好在单独的数据框内使用,在多个同名对象最好不要使用,函数with(),可以再具有多个同名对象的数据框内使用,但是必须加入花括号{},这样就无须担心名称冲突了,但是它也有局限性,赋值仅在此函数的括号内生效。
8、列表是一些对象的有序集合。
9,、数据导入 read.table(),其中header = T,代表第一行为变量名称,不作为数据,header = F相反。sep代表数据分隔符,txt为"\t",csv为","。
10、table函数,用 table() 函数统计因子各水平的出现次数(称为频数或频率)。
>sex = c("女","女","女","男","男")
>table(sex)
>sex
男 女
2 3
求众数
>aim = table(sex)[table(sex)==max(table(sex))]
>aim
女
3
> max(table(sex))
[1] 3
> table(sex)==max(table(sex))
sex
男 女
FALSE TRUE
11、 无尺度网络: 是指在某一复杂的 系统 中,大部分节点只有少数几个连结,而某些节点却拥有与其他节点的大量连结。这些具有大量连结的节点称为“集散节点”,所拥有的连结可能高达数百、数千甚至数百万。这一特性说明该网络是无尺度的,因此,凡具有这一特性的网络都是无尺度网络。
12、options(stringsAsFactors = F)
#在调用as.data.frame的时,将stringsAsFactors设置为FALSE可以避免character类型自动转化为factor类型。
13、class():查看数据结构:vector、matrix、array、dataframe、list。
14、str():作用用英语来表示是:check classification of viriables,一般用于检查数据框当中有哪些数据。
15、mode() :查看数据元素类型。
16、typeof() :查看数据元素类型,基本等同于mode(),比mode()更为详细。
17、example():假设有一个函数foo,example("foo"),函数foo的使用示例。
18、apropos():列出名称中含有foo的所有可用函数。apropos("foo",mode="function")。
19、data():列出当前已加载包中所含的所有可用示例数据集。
20、ls():列出当前工作空间中的对象。
21、rm():移除(删除)一个或多个对象。
22、history(#):显示最近使用过的#个命令(默认值为25)。
23、options():显示或设置当前选项。有一个收藏文件有介绍options的功能。
24、boxplot():生成盒型图。
25、sum():计算和。sum(x,na.rm = TRUE)。
26、median():计算中位数。
27、cbind():以列结合变量。cbind(x,y,z)。
28、rbind():以行结合变量。
29、vector():以向量形式结合数据。vector(length = 10)。
30、rep():以矩阵形式结合数据。rep(c(1,,2,3),each = 10)
31、seq():生成一个有序的数列。seq(1,10)。
32、dim():矩阵或者cbind输出的维数。dim(Mydata)。
33、scan():从ascii文件中读取数据。scan(file = "test.txt")。
34、write.table():把一个变量写入到ascii文件。write.table(Z,file = "test.txt")。
35、order():确定数据的顺序。order(x)。
36、merge():合并两个数据框。merge(x,y,by = "ID")。
37、str():显示一个对象的内部结构。str(Mydata)。
38、factor():定义变量作为因子。factor(x)。
39、tapply():tapply(X = Veg$R,INDEX = Veg$Transect,FUN = mean).tapply函数根据第二个变量(Transect)的不同水平对第一变量(R)进行了求平均值运算。还可以求sd,var,length等操作。R语言初学者指南P75详细介绍了这个函数。
40、下一页介绍了sapply和lapply。
41、summary():计算基本信息。
42、table():计算列联表,统计因子各水平的出现次数(频数或频率)。table(x,y)。
43、plot():y对x的图形。pch形状,col颜色。
44、par():par(mfrow = c(2,2),mar = c(3,3,2,1))
mfrow生成一个具有4个面板的图形窗口。mar选项指定每个图形周围空白的大小,底部、左侧、顶部、右侧。
45、paste():将变量连接成字符串。paste("a","b",sep = "")。
46、log(): log = "x",log = "y",log = "xy",生成对数轴。
47、%in%:
a<-c(1,3,13,1443,43,43,4,34,3,4,3)
b<-c(1,13,11,1313,434,1)
a%in%b
# 返回内容#
[1] TRUE FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
# 取反操作
!(a%in%b)
48、sort()函数是对向量进行从小到大的排序
rank()函数返回的是对向量中每个数值对应的秩
order()函数返回的值表示位置,依次对应的是向量的最小值、次小值、第三小值……最大值等(位置索引)
arrange()函数(需加载dplyr包)针对数据框,返回基于某列排序后的数据框,方便多重依据排序。
49、subset(): df <- data.frame( a = 1:10, b = 2:11, c = 3:12 )
df <- subset(df, select = c(a,c)) #选取列a和c
df <- subset(df, select = -c(a,c) ) #去除列a和c
创建向量时,先给向量命名,如letters,名字后加“<-符号,接着写函数c(元素)”,如“letters <- c(a,b,c,2,5)”。输入"<-"的方法:同时按“alt和-”或先按"<"再按"-"。
向量只有一行,向量里元素的数据类型操作:class(向量名称[第几列]),如下:
给数据框的各列及各行命名,输入函数c(元素为数字直接输入,每个元素之间用逗号隔开,英文单词要加引号,再用逗号分开),按要求输入数据框的函数后,记得要输入数据框如resualtdata,才能在结果中把数据框的各行各列内容显示出来。
对数据框的各行和各列进的名称修改时,方法:rownames(数据框名字)<-(各列名之间要用引号,列名之间用逗号隔开),colnames(数据框名字)<-(各行名之间要用引号,行名之间用逗号隔开),最后再把数据框名字写上后运行。
第一种方法,class(数据框名称[,第几列]),第几行的数字是空白的;同理,确定数据框中各行的数据类型,class(数据框名称[第几行,]),第几列的数字是空白的。第二种方法,class(数据框名称$第几列的名称),如下。
or
方法1:数据框名称 [第几行,第几列];
方法2:数据框名称["第几行对应的名称","第几列对应的名称"],此方法相应的行名和列名一定要加双引号,否者运行是错误的。
4行6列:矩阵名称<-matrix(1:24,nrow=4,ncol=6)
5行4列:矩阵名称<-matrix(1:20,nrow=5,ncol=4)
参考在数据框中更改各行各列命名的方法,注意的是,输入命名的函数后,运行不要从原始矩阵函数开始,不然会一直默认,应从矩阵名称开始,或者输入更改各行和各列的函数后,再输入矩阵名称,之后运行即可。
参考数据框的方法,同样也要注意在使用X["D3","E2"]方法时,一定要给具体的行和列的名称加引号。
在使用R语言时,输入的字母,符号一定是用英文版,当命令发生错误时,要仔细核对,是不是格式出现错误,显示不出结果时,输入相应的函数后,是不是没有输入数据框或矩阵。
将作业写至邮件 [email protected] ,抄送 [email protected]
阵是一个二维数组,只是每个元素都拥有相同的模式(数值型、字符型或逻辑型)。可通过函数matrix()创建矩阵。一般使用格式为
其中vector包含了矩阵的元素,nrow和ncol用以指定行和列的维数,dimnames包含了可选
的、以字符型向量表示的行名和列名。选项byrow则表明矩阵应当按行填充(byrow=TRUE)
还是按列填充(byrow=FALSE),默认情况下按列填充
数组(array)与矩阵类似,但是维度可以大于2, 数组可通过array函数创建,形式如下:
myarray <- array(vector, dimensions, dimnames)
其中vector包含了数组中的数据,dimensions是一个数值型向量,给出了各个维度下标的最大
值,而dimnames是可选的、各维度名称标签的列表
由于不同的列可以包含不同模式(数值型、字符型等)的数据,数据框的概念较矩阵来说更
为一般。它与你通常在SAS、SPSS和Stata中看到的数据集类似。数据框将是你在R中最常处理的
数据结构
数据框可通过函数data.frame()创建
其中的列向量col1、col2、col3等可为任何类型(如字符型、数值型或逻辑型)。每一列的名
称可由函数names指定
每一列数据的模式必须唯一,不过你却可以将多个模式的不同列放到一起组成数据框。由于数据框与分析人员通常设想的数据集的形态较为接近,我们在讨论数据框时将交替使用术语列和
变量
类别(名义型)变量和有序类别(有序型)变量在R中称为因子(factor)。因子在R中非常重要,因为它决定了数据的分析方式以及如何进行视觉呈现
函数factor()以一个整数向量的形式存储类别值,整数的取值范围是[1...k](其中k是名义型变量中唯一值的个数),同时一个由字符串(原始值)组成的内部向量将映射到这些整数上
对于字符型向量,因子的水平默认依字母顺序创建。这对于因子status是有意义的,因为
“Excellent”“Improved”“Poor”的排序方式恰好与逻辑顺序相一致。如果“Poor”被编码为
“Ailing”,会有问题,因为顺序将为“Ailing”“Excellent”“Improved”。如果理想中的顺序是“Poor” “Improved”“Excellent”,则会出现类似的问题。按默认的字母顺序排序的因子很少能够让人满意.
你可以通过指定levels选项来覆盖默认排序。例如:
各水平的赋值将为1=Poor、2=Improved、3=Excellent。请保证指定的水平与数据中的真实值
相匹配,因为任何在数据中出现而未在参数中列举的数据都将被设为缺失值。数值型变量可以用levels和labels参数来编码成因子。如果男性被编码成1,女性被编码成2,则以下语句
列表(list)是R的数据类型中最为复杂的一种。一般来说,列表就是一些对象(或成分,component)的有序集合