R语言个人笔记

来源:互联网 发布:samplitude for mac 编辑:程序博客网 时间:2024/05/17 02:33

1.今天测试了一个which的用法:

a<-c(5,4,3,2)
b<-2
which(b %in% a)

> which(b %in% a)
[1] 1(为嘛不是4?)

which(a %in% b)

> which(a %in% b)

[1] 4

注意事项:

(1)which是用来返回下标的,判断条件是否为真,若为真,返回下标;

x%in%y是用来判断x是否为y中的元素; 

(2)将上述例子改成

a<-c(5,2,3,2)
b<-2
which(b %in% a)

> which(b %in% a)
[1] 1


a<-c(5,1,3,1)
b<-2
which(b %in% a)

结果为:

> which(b %in% a)
integer(0)

所以which(x%in%y)是用来判断x是否为y中的元素,若是,返回x对应的元素的下标,而不是y中对应的下标。


2 R中的sort,rank与order

> x<-c(97,93,85,74,32,100,99,67)
> x
[1]  97  93  85  74  32 100  99  67
> sort(x) #按元素大小排序,默认为升序
[1]  32  67  74  85  93  97  99 100
> rank(x) #按元素大小排序,输出的是排序后元素所在的位置
[1] 6 5 4 3 1 8 7 2
> order(x) #对应的元素所在原向量中的位置
[1] 5 8 4 3 2 1 7 6


3.R语言中写SQL语句

(1)利用sqldf包

eg

library(sqldf)install.packages("sqldf")newdf<-sqldf("select * from mtcars where carb=1 order by mpg",row.name=TRUE)  #调用mtcars数据集sqldf("select avg(mpg) as avg_mpg,avg(disp) as avg_disp,gear from mtcars where cyl in (4,6) group by gear")

(2)利用RODBC

先建立数据源

eg

ibrary(RODBC)channel <- odbcConnect("mysql_data", uid="abc", pwd="abc")sqlTables(channel)  #查看数据中的表data<-sqlFetch(channel,"abc")  # 查看表的内容,存到数据框里


4.R语言之 : 使用

默认的是加1

eg:
















0 0
原创粉丝点击