《R语言实战》自学笔记22-数据整理

Python016

《R语言实战》自学笔记22-数据整理,第1张

数据准备

向一个数值型向量中添加一个字符串会将此向量中的所有元素转换为字符型。

is.datatype()用于判断数据类型,返回值为TRUE或FALSE,常见类型包括数值型numeric、字符型character、逻辑型logical、数据框data.frame等。 as.datatype()可将数据类型进行转化。

查看数据类型:mode(), class(), typeof(), storage.mode()

逻辑值转换成数值时,TRUE转换成1,FALSE转换成0。

函数:order(x,decreasing=F,na.last=NA)

x是要排序的数据,可以是数据框也可以是向量,decreasing=F是默认升序,在排序变量前加一个减号可得到降序排序结果,na.last =NA表示将NA元素移到最后,否则,将NA放在第一个。

函数:cbind(A, B) ,不需要指定一个公共索引对数据框进行合并。

cbind:根据列进行合并,即叠加所有列,m列的矩阵与n列的矩阵cbind()最后变成m+n列,合并前提:cbind(a, c)中矩阵a、c的行数必需相符。

merge(A, B) :横向合并两个数据框(数据集),在多数情况下,两个数据框是通过一个或多个共有变量进行联结的(即一种内联结,inner join)。

rbind(A, B) :纵向合并两个数据框(数据集),两个数据框必须拥有相同的变量,不过它们的顺序不必一定相同。

rbind:根据行进行合并,就是行的叠加,m行的矩阵与n行的矩阵rbind()最后变成m+n行,合并前提:rbind(a, c)中矩阵a、c的列数必需相符。

函数:dataframe[row indices, column indices] dataframe为要索引的数据框,[]中,前面的是行,后面是列。

在某一列或行的下标之前加一个减号(-)就会剔除那一列或行。

subset(x, subset, select, drop = FALSE, ...)

x是要进行操作的数据框,subset是对数据的某些字段进行操作,select是选取要显示的字段。

sample(x, size, replace = FALSE, prob = NULL)

x表示所要抽样数据,size表示抽样元素个数,replace为T表示采取有重复的抽样,prob用于指定抽样的概率。

参考资料:

数据框(data.frame)是R中最常处理的数据结构。

函数:data.frame(col1,col2,col3,....,row.name=NULL, check.rows = FALSE, check.names=TRUE, stringsAsFactors = default.stringsAsFactors())

其中的列向量col1, col2, col3,...可为任何类型(如字符型、数值型或逻辑型),每一列的名称可由函数names指定;

row.name用于指定各行(样本)的名称,默认没有名称,使用从1开始自增的序列来标识每一行;

check.rows用于用来检查行的名称和数量是否一致,默认为FALSE;

check.names来检查变量(列)的名称是否唯一且符合语法,默认为TRUE;

stringsAsFactors用来描述是否将字符型向量自动转换为因子,默认转换,若不改变的话使用stringsAsFactors = FALSE来指定即可。

每一列数据的模式必须唯一,不过你却可以将多个模式的不同列放到一起组成数据框。

先构建向量,再组成数据框。

直接用data.frame函数构建数据框。

R语言的下标索引是从1开始的,且下标索引为负数的话表示删除某个元素。

[] 可进行索引,括号内对应的是[行下标, 列下标]。

[1] 1 2 3 4 5 6 7 8

[1] "four"

[1] 1 2 3 4 5 6 7 8

[1] "four"

[1] 1 2 3 4 5 6 7 8

[1] "one" "two" "three"

attach、detach和with()

函数attach()可将数据框添加到R的搜索路径中。

函数detach()将数据框从搜索路径中移除。

函数attach()和detach()最好在你分析一个单独的数据框,并且不太可能有多个同名对象时使用。

with()就是把所有操作都限制在数据框上。

The following objects are masked by .GlobalEnv:

[1] 1 2 3 4 5 6 7 8

[1] "n1" "n2" "n3" "n4" "n5" "n6" "n7" "n8"

[1] 8

[1] 3

[1] 8

[1] "name""values" "values2"

[1] "r1" "r2" "r3" "r4" "r5" "r6" "r7" "r8"

[1] 8 3

[1] "data.frame"

[1] "numeric"

[1] "character"

Length:8 Min. :1.00 Min. :1.00

Class :character 1st Qu.:2.75 1st Qu.:2.75

Mode :character Median :4.50 Median :4.50

Mean :4.50 Mean :4.50

3rd Qu.:6.25 3rd Qu.:6.25

Max. :8.00 Max. :8.00

[1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE

资料:《Statistical Analysis of Network Data with R》

语言R常见的网络分析包:

网络分析研究大部分是描述性的工作。

网络的可视化 即是一门艺术,也是一门科学。

三元闭包体现了社会网络的“传递性”(transitivity),枚举所有节点三元组中构成三角形的比值来表征。

网络的可视化和数值特征化是网络分析的首要步骤之一。

网络可视化视图将数据的多个重要反面整合在一个图表中。

该节点在多大程度上会与同类型或者不同类型的其他节点进行匹配,可以通过一种相关性统计量(所谓的同配系数)进行量化。

将复杂系统中感兴趣的问题与合适的网络概括性度量匹配起来,是网络特征化方法起作用的关键所在。

网络中的频繁子图模式

网络聚类系数的分布,用来检验社会网路的聚集性上

sand安装包

网络数据统计分析 statistical analysis of network data

在CRAN上

G=(V,E)

节点 :vertices 或者 nodes

边:edges 或者 links

节点数量:图的阶数 order

边的数量:图的规模 size

同构图 isomorphic

无向 undirected

有向 directed graph 或者 digraph

边:有向边 directed edges 或 弧 arcs

双向 mutual

小的图形用 formulate来创建

把mg转化为wg2

Zachary 空手道俱乐部网络 (karate club network)

数据集合实际上只存在两个社团,分别以教练为中心和以主管为中心。

Lazega律师网络可视化

srt() 不能用使用 upgrade_graph()d代替

DrL算法,针对大型网络可视化设计的布局算法。

节点的节点,即社区节点(主题节点)

即一个中心节点,一其直接相连的邻居,以及这些节点至今的边。

度值不同的节点以何种方式彼此连接

图的密度

全局聚类系数

局部聚类系数

互惠性 reciprocity

二元组普查