有关韦恩图的说明请参见
维基百科,此处就不再赘述了。R中提供了多个可用于绘制韦恩图的软件包,本文主要是介绍的是VennDiagram包。
Length_AB<-length(intersect(A,B))
在实际工作中,我们经常需要进行一些集合运算,在R中怎么实现呢?当然用不着写for或者while循环那么复杂了,R已经为我们提供了非常强大的集合运算系列函数,下面就简单的介绍一下这些函数(假设A,B,C为三个集合):
#首先对集合A,B,C赋值
> A<-1:10
> B<-seq(5,15,2)
> C<-1:5
> #求A和B的并集
> union(A,B)
[1] 1 2 3 4 5 6
7 8 9 10 11 13 15
> #求A和B的交集
> intersect(A,B)
[1] 5 7 9
> #求A-B
> setdiff(A,B)
[1] 1 2 3 4 6 8 10
> #求B-A
> setdiff(B,A)
[1] 11 13 15
> #检验集合A,B是否相同
> setequal(A,B)
[1] FALSE
> #检验元素12是否属于集合C
> is.element(12,C)
[1] FALSE
标签:
centos
r语言
安装
tab自动补全
杂谈
|
分类:
Python与R
|
由于希望在Hadoop集群上配置RHadoop,自然需要在每个服务器节点上安装R语言。在安装过程也碰到了一些小问题,因此记录一下。
首先服务器系统版本为centos5.6,R版本为2.
13.2。下面是安装步骤:
1、解压文件:tar –zvxf
R-2.
13.2.tar.gz
2、
进入R源文件目录:cd R-2.
13.2
3、执行./configure命令,提示错误信息为“
configure: error: No F77 compiler
found”,执行命令
yum install gcc-gfortran解决。再次执行
标签:
聚簇索引
特点
更新
存储
非聚簇索引
区别
|
分类:
数据库
|
通常情况下,建立索引是加快查询速度的有效手段。但索引不是万能的,靠索引并不能实现对所有数据的快速存取。事实上,如果索引策略和数据检索需求严重不符的话,建立索引反而会降低查询性能。因此在实际使用当中,应该充分考虑到索引的开销,包括磁盘空间的开销及处理开销(如资源竞争和加锁)。例如,如果数据频繁的更新或删加,就不宜建立索引。
本文简要讨论一下聚簇索引的特点及其与非聚簇索引的区别。
在SQL语言中,建立聚簇索引使用CREATE INDEX语句,格式为:CREATE CLUSTER INDEX index_name
ON table_name(column_name1,column_name2,...);
R有着非常强大的绘图功能,我们可以利用简单的几行代码绘制出各种图形来,但是有时候默认的图形设置没法满足我们的需要,甚至会碰到各种各样的小问题:如坐标轴或者标题出界了,或者图例说明的大小或者位置遮挡住了图形,甚至有时候默认的颜色也不能满足我们的需求。如何进行调整呢?这就用到了“强大”的函数par()。我们可以通过设定函数par()的各个参数来调整我们的图形,这篇博文就是对函数par()的各个参数进行一下总结。
函数par()的使用格式如下:
par(..., no.readonly =
FALSE)
其中...表示所有类似于tag=value形式的参数。下面会具体的对这些参数进行描述。当参数no.readonly=TRUE时,函数par()就只允许有这一个参数了,并且会返回当前绘图设备中各个参数的参数值。
每一个图形设备都有自己的绘图参数,如果当前还没有打开绘图设备,那么函数
标签:
r
分组统计
apply
tapply
lapply
sapply
mapply
table
杂谈
|
分类:
Python与R
|
- apply函数(对一个数组按行或者按列进行计算):
使用格式为:
apply(X, MARGIN, FUN,
...)
其中X为一个数组;MARGIN为一个向量(表示要将函数FUN应用到X的行还是列),若为1表示取行,为2表示取列,为c(1,2)表示行、列都计算。
示例代码:
> ma <- matrix(c(1:4, 1, 6:8), nrow = 2)
> ma
[,1] [,2] [,3] [,4]
[1,] 1 3
1 7
[2,] 2 4
6 8
> apply(ma, c(1,2), sum)
[,1] [,2] [,3] [,4]
[1,] 1 3
1 7
[2,] 2 4
6 8
> apply(ma, 1, sum)
[1] 12 20
标签:
mysql
格式化数据
导入
导出
infile
outfile
杂谈
|
分类:
数据库
|
首先要在mysql中创建对应的数据表,如可取表名为stu。格式好的文本数据放在一个txt文件
最近在用R做数据分析处理的过程中,经常会碰到一些数据量比较大进而导致循环执行好久的情况。等待的过程太煎熬了,就想R能不能实现类似于“进度条”的那种东西,起码能知道现在完成了多少了。后来找了找,发现还真有这样的函数可以实现。这就用到了一个名称为tcltk的包,直接查看函数tkProgressBar就可以知道怎么用啦!下面是我的一个小的示例代码(么有实际意义,仅为举例而已):
library(tcltk)
u <- 1:2000
plot.new()
pb <- tkProgressBar('进度','已完成 %', 0, 100)
for(i in u) {
x<-rnorm(u)
points(x,x^2,col=i)
info <- sprintf('已完成 %d%%',
round(i*100/length(u)))
setTkProgressBar(pb, i*100/length(u),
sprintf('进度 (%s)', info), info)
}
close(pb)#关闭进度条
最近利用R结合中国地图绘制了一些有数据展示图,水平不
这是这两天的项目中碰到的两个小问题,记录一下。
第一个问题:在做数据分析时,经常会碰到一些字段是以0开头的数字,在使用函数read.table或者read.csv等读取文件时,总是把这些字段认为是数值型的,自动的将开头的0去掉。如何解决这个问题呢?
可以通过设定read.table或者read.csv的参数colClasses='character'来实现。
第二个问题:使用函数read.table读取文件时,如果遇到文件中某些行的数据不规则,会出现这样的错误:scan(file, what, nmax, sep, dec, quote, skip,
nlines, na.strings, :
19行没有4元素。如果希望忽略掉这样的错误,直接读取,如何解决?
可以通过设定read.table的参数fill
python的空值是None,而在SQL Server数据库中空值的定义为NULL,如果希望将这些空值存入数据库中,就会保存成None值,这时可以使用or 来进行转换,如:
row=cursor.fetchone();
while row:
insert_sql='insert into %s values(%d,'%s','%s','%s','%s') '
%(server_tbname,row[0] or 'NULL',row[1] or 'NULL',row[2] or
'NULL',row[3] or 'NULL',row[4] or 'NULL')
cur_local.execute(insert_sql)
row=cursor.fetchone()