R语言基础知识笔记

Python07

R语言基础知识笔记,第1张

1、向量是用于存储数值型,字符型或者逻辑型数据的一维数组。执行组合功能的函数为c(),可以用来创建向量。向量可根据位置进行索引,需要用[]。

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

您好,这几本我觉得都不错,适合初学者

《R语言实战》Robert Kabacoff著,高涛等译

《R语言与统计分析》汤银才著

《多元统计分析及R语言建模》王斌会编著

《统计建模与R软件》薛毅等编著

尤其是前两本我觉得较适合初学者,R语言这个软件属于上手不那么容易的,所以还是从简单的书开始看吧,另外这种软件最好是多练练实际写语句,掌握的更快,许多的有用的语句你直接去谷歌就能搜索到,同时R软件的帮助功能挺强大,可以多加利用

祝您进步

首先R是一种专业性很强的统计语言,如果想学得快一些的话,基本的统计学知识要懂,不然很多东西会掌握的比较慢。

掌握基本语法和操作,推荐国内的已经翻译的比如《R语言实战》《R语言编程艺术》,这个过程中最好结合一些小例子来做一些分析的东西。其他还有《R语言实例》《R语言核心技术手册》也都是很好的书!如果需要可视化的话,强烈不推荐学习R本身的作图系统,实在是太不友好了.....还是用ggplot2吧。

掌握了上面的,就可以深入一些了,如果是做数据分析和可视化,推荐《ggplot2:数据分析与图形艺术》,这个才是作图的神器啊.....如果是空间分析相关的,推荐《Applied Spatial Data Analysis with R》,这个如果可以的话看英文版,而且要有地学的一些知识背景,中文版翻译的太次了,尽量不要看。数据挖掘机器学习之类的,可以看看比如《数据挖掘与R语言》、《机器学习——实用案例解析》,不过我觉得这几本书没上面的那几本好,但是可以大概看看是咋回事,最好还是看看专门的相关书籍,熟悉各种算法和流程,到时候搜索R的package,照着文档和例子搞定,不是特别难。

最后,强烈推荐统计之都、R-bloggers,统计之都以及谢益辉、肖凯、刘思喆等人的博客(自行Google以及到上面的网站找链接),订阅一下,会很有帮助,RStudio是个很棒的IDE,用起来很爽,功能很强大。

总之,你可以从《R语言实战》开始出发吧!