ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

【RStudio+R语言_NoteS】R语言课程练习_加深理解

2021-09-17 11:31:23  阅读:252  来源: 互联网

标签:csv 语言 worksheet NoteS nvars Part RStudio 变量 函数


记录学习旅程~

欢迎各位道友指教与交流~


·Part Ⅰ 导入

library(module)
setwd()    # 设置当前工作目录
getwd()    # 获取当前工作目录

·Part Ⅱ 创建对象

worksheet_a <- read.csv("文件路径", 
                        colClasses = c("character", rep("numeric", 13),
                                       "character", rep("numeric", 33)))
# colClasses是指明各变量的类型;character是字符型;numeric是数值型
# c()函数是合并各向量,rep()函数是重复向量多次

说明:可见,在读取csv时,共有48个向量,其中第1个、第15个向量申明为字符型,其余向量为数值型。1,...13个后,15,...33个.

·Part Ⅲ 处理数据

str(worksheet_a)
# str()查看对象结构

worksheet_a <- worksheet_a %>% 
  mutate_if(is.character, list(~na_if(.,"")))

# 对象=经过处理后的源对象;%>%叫管道函数,即左边为输入传递给右边作输出给对象
# is.character是判断是否为字符型;
# mutate_if();mutate英文是改变的意思,if表条件;可以理解为当满足某条件时改变,改变啥呢?变量
# is.character;当为True时被改变;改变成啥呢?空值变NA
# list()函数是调用的列表,迭代出变量

worksheet_a.nvars <- 
  worksheet_a[,
              lapply(worksheet_a, class)=="numeric"]
# .nvars得到新数据框
# class()函数判断一个变量的类型,此处取数值型
# lapply(对象,函数)函数是将函数应用于对象取出特定变量

summary(worksheet_a.nvars)
# summary()函数查看各变量描述统计量

descrip <- function(nvar)
# 自定义函数
descrip <- function(nvar)
{
  nmiss <- length(which(is.na(nvar)))
  mean <- mean(nvar, na.rm=TRUE)
  std <- sd(nvar, na.rm=TRUE)
  min <- min(nvar, na.rm=TRUE)
  Q1 <- quantile(nvar, 0.25, na.rm=TRUE)
  median <- median(nvar, na.rm=TRUE)
  Q3 <- quantile(nvar, 0.75, na.rm=TRUE)
  max <- max(nvar, na.rm=TRUE)
  c(nmiss, mean, std, min, Q1, median, Q3, max)
}
# nmiss-nvar中miss的数;which()函数获取逻辑型向量中取值为T的元素序号,结合is.na(nvar)为取出
# nvar缺失的序号;length()函数获取向量长度
# .rm是去除的意思;mean()函数计算变量的均值
# sd()函数计算变量的标准偏差
# min()函数计算变量的最小值
# quantile()函数计算变量的指定分位数,此处为下四分位数
# median()函数计算变量的中位数
# quantile()函数计算变量的指定分位数,此处为上四分位数
# max()函数计算变量的最大值


worksheet_a_nvars_description <-
  lapply(worksheet_a.nvars, descrip) %>%
  as.data.frame() %>% t()
# lapply()函数将descrip()函数应用于worksheet_a对象数据框中的每个变量,产生关于描述统计量的列表
# as.data.frame()函数将列表转为R数据框;t()函数将数据框装置

colnames(worksheet_a_nvars_description) <-
    c('nmiss', 'mean', 'std', 'min', 'Q1', 'median', 'Q3', 'max')
# colnames()函数获得对象的名称,重新命名


·Part Ⅳ 生成图像

write.csv(worksheet_a_nvars_description,
    "xxx/worksheet_a_nvars_description.csv")
# 存为csv文件,第一个参数为对象数据框,第二个参数为路径名称

pdf('xxx/worksheet_a_graph.pdf', family='GB1')
# GB1输出为中文

for (i in 1:ncol(worksheet_a.nvars)) {
  hist(worksheet_a.nvars[, i],
       xlab=names(worksheet_a.nvars)[i],
       main=paste0('graph of',
                   names(worksheet_a.nvars)[i]),
       col='grey')
}
# 用python的思想可以理解
# hist()函数画第i个变量的直方图
# xlab指定横轴标签名称
# main指定图的标题
# paste0()函数将'graph of'和变量名称粘贴一起
# col指定直方图各柱填充颜色

dev.off()
# 输出至PDF

·Part Ⅴ 小结

数据来源可从数据挖掘——基于R语言的实战

过一遍理解加深,受益匪浅。


敬请指教与交流~

标签:csv,语言,worksheet,NoteS,nvars,Part,RStudio,变量,函数
来源: https://blog.csdn.net/Ws_Zhou_Xu/article/details/120331468

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有