这里总结我比较常用的,还有很多,网址如下:
http://bbs.pinggu.org/thread-3514627-1-1.html
(未来再更多总结)
R语言用模型包非常多,但是很多常用函数去处理数据也非常重要。
每种语言用的最多的语法莫过于如果语句和循环语句。
这里总结一下R语言的一些常用语法。
1. 管道函数(%>%)
在library(dplyr)中
用法:示例
tq=tbl(mydb,'ht_tq_model_201407_201412_all')%>%
select(-user_id,-user_id_2,-user_id_3,-is_xy,-scheme_type,-m03_is_owe,-scheme_name,-scheme_type_name_new,-pay_mode2)%>%
filter(dc>=36,cust_level<='50') %>%
collect()
将前面的结果传递给下面(一般数据库select时候用)
2. 筛选函数(filter())
在library(dplyr)中
用法:示例
filter(dc>=36,cust_level<='50')
用条件筛选用户
3. 转化函数(as.data.frame)
用法
cust_type_d=as.data.frame(class.ind(tq$cust_type))
转化成不同形式
4. 命名函数(names)
names(cust_type_d)=c('cust_type_jk','cust_type_gz')
5. ifelse函数
df$cust_level=
ifelse(df$cust_level<=1,30.28,
ifelse(df$cust_level<=10,49.23,
ifelse(df$cust_level<=14,44.91,
ifelse(df$cust_level<=15,40.94,
ifelse(df$cust_level<=16,15.6,
ifelse(df$cust_level<=20,61.83,
ifelse(df$cust_level<=40,53.16,33.89)))))))
6. 分位数函数
w=c(0.99,0.98,0.97,0.95,0.90,0.85,0.80,0.60,0.40,0.20,0.00)
quantile(x,w)
7. 定位循环
x=c(0.99,0.98,0.97,0.95,0.90,0.85,0.80,0.60,0.40,0.20,0.00)
s=lapply(x ,f_evaluate)
对每一个x进行f_evaluate函数
8. 嵌套循环
#构建urllist,若写成function的话,貌似不需要构建urllist
page_num <- 1:5
urllist<-0
k<-1
url<-"http://detail.zol.com.cn/cell_phone_index/subcate57_list_"
output <- list()
for(i in 1:length(series))
{
for(j in 1:length(page_num))
{
urllist[j]<-paste0(url,series[i],"_",page_num[j],".html",sep="")
}
output[[k]] <- urllist
k <- k + 1
}
最终通过循环形成所要数据组