R语言日常学习笔记
获取当前所在路径 getwd() 进入指定文件夹路径 setwd(dir=”C:/Users/wukai/OneDrive/20210114”) 读取csv文件 read.csv(“Rdata.csv”)
读取csv文件中的第1列和第6列 nei2008 = read.csv(“D:/Rstudy/wildfire/data/clean/2008_by_county_with_wildfire.csv”)[, c(1, 6)] 给读取的数据加上一列,整列的值都为2008 nei2008$year = 2008
读取单个csv文件 dt <- read_csv(‘D:/Rstudy/wildfire/data/emissions/supression_costs.csv’)
对读入数据当中的某一列进行计算或单位转换 1 ac (Acres) = 0.404686 ha (hectare) dt$burned_area <- (dt$burned_area*0.404686)/1e6 #put in millions
将文本或字符串形式转为数值型,方便进行后续计算 基于as.numeric来实现,例如 def$year <- as.numeric(substr(def$DATE,1,4))
需要提取字符串的某些部分用substring函数 语法如下: substring(x,first,last) 以下是所使用的参数的说明: x - 是字符向量输入。 first - 是第一个字符要被提取的位置。 last - 是最后一个字符要被提取的位置。 def$year <- as.numeric(substr(def$DATE,1,4))即为提出def数据的DATE列的第1到第4个字符
需要对某列数据进行处理——比如除以同一个单元格的值 示例如下: def$deflator <- def$USAGDPDEFAISMEI/def$USAGDPDEFAISMEI[def$year==2015] 即为将名为USAGDPDEFAISMEI的整列数据都除以该列索引到的year==2015对应的那个单元格
需要合并多列数据时 full_join是a和b数据的并集 inner_join是a和b数据的交集 left_join连接后的记录数等于”a的记录数“,当然,a是需要放在第一个参数,这篇文章讲的都是a作为连接函数的第一个参数值,b作为连接函数的第二个参数值 right_join right_join连接后的记录数等于”b的记录数“ 例如 dt <- left_join(dt,def,by=”year”)就是把dt和def以year为共同字符连接起来
当目录下有多个数据文件,可考虑如下流程进行处理: 首先用list.files读取目录下的所有文件 f <- list.files(‘D:/Rstudy/wildfire/data/EPA_trend/’) 新建一列数组,从2000年到2018年 epa <- data.frame(Year=2000:2018)
只需要保留某几列的数据时 如下命令即为仅保留dta当中的前2列 dta <- dta[,1:2]
直接使用split函数得到的结果是一个列表,如果希望得到一个向量,可以使用 unlist() 函数
需要修改数据当中的某列的名字,可利用如下代码 例如names(epa)[1] <- ‘year’即为将第1列的名字修改为year
添加标题的上下标可以参考 plot(1,ylab=expression(“NH “[“4”]^”+”), xlab=expression(“kg/m”^”2”))