r语言基本操作及数据处理(超详细)
发布日期:2021-06-30 22:33:26 浏览次数:2 分类:技术文章

本文共 2074 字,大约阅读时间需要 6 分钟。

查看目录及更改目录

getwd()   #查看工作目录setwd("E:/工作文件/model")  #改变工作目录

安装及释放包

install.packages("packge-name")  #安装包detach(package:packge-name)  #释放包

并行运算设置

library(doParallel)cl <- makeCluster(15)registerDoParallel(cl)

报错空间溢出:Java heap space,需要设置运行内存

library(rJava).jinit(parameters="-Xmx7888m")

删除R软件运行时保存在内存中的所有对象

rm(list=ls(all=TRUE))

常规数据查看

data(data)     #加载数据集datahead(data)     #显示数据集data的前若干条数据tail(data)     #显示数据集data的后若干条数据str(data)      #探寻数据集内部结构summary(data)   #获取数据集data的概括信息dim(data)      #查看数据集data的纪录数和维度数table(data$is_do)    #查看数据集data中维度is_do的数值分布data<- data[which(data[,11]==1),]    #选取data数据表里第11列维度为1的数据data$field<-as.numeric(data$field)   #数值转换data$field<-as.factor(data$field)    #因子转化for (i in 1:25) {  data[,i] <- as.numeric(as.vector(data[,i]))}   #循环技术进行数据类型转化

条件选择并赋值

y[which(y<1.5)] <- 1data$is_do <- ifelse(data$is_do > 0.7 ,2,ifelse(data$is_do > 0.3 ,1,0))q1_AGE<-quantile(data$AGE, 0.03,na.rm=TRUE) #data数据表中维度AGE从小到大排序前3%处数值q2_AGE<-quantile(data$AGE, 0.97,na.rm=TRUE)  #data数据表中维度AGE从小到大排序前97%处数值data$AGE <- ifelse(data$AGE < q1_AGE,q1_AGE,data$AGE)data$AGE <- ifelse(data$AGE > q2_AGE,q2_AGE,data$AGE)

选择字段及删除字段

data <- data[names(data) %in% c("CN_EFF_DATE", "CN_EXP_DATE")]   #选取data数据表中字段CN_EFF_DATE、CN_EXP_DATEdata <- data[!(names(data) %in% c("CN_EFF_DATE", "CN_EXP_DATE"))]   #删除data数据表中字段CN_EFF_DATE、CN_EXP_DATE

抽样

data<-data[sample(nrow(data),10000),]    #随机从数据集data中选取10000条纪录number=sample(nrow(data),1/4*nrow(data))  #计算数据集data样本量1/4的数值train_example=data[number,]               #对数据集data随机抽样number个数

按比例划分数据

train_sub=sample(nrow(train_example),3/4*nrow(train_example))     train_data=train_example[train_sub,]test_data=train_example[-train_sub,]dim(train_data)dim(test_data)

变量处理

age_new<-c()for (i in 1:length(data$AGE)){  if(data$AGE[i]>=0&data$AGE[i]<18)   {age_new[i]<-'少年'}  if(data$AGE[i]>=18&data$AGE[i]<30)  {age_new[i]<-'青年'}  if(data$AGE[i]>=30&data$AGE[i]<60)   {age_new[i]<-'壮年'}  if(data$AGE[i]>=60)  {age_new[i]<-'老年'}}

字段合并

data_new<-data.frame(data[,c(1:16)],age_new)

矩阵归一化(0到1)

b1=(p[,1]-min(p[,1]))/(max(p[,1])-min(p[,1]))

转载地址:https://lovebigdata.blog.csdn.net/article/details/79174505 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:超详细:R语言数据标准化
下一篇:R语言交叉验证(详细)

发表评论

最新留言

路过按个爪印,很不错,赞一个!
[***.219.124.196]2024年05月05日 13时08分42秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章