R语言学习笔记——R语言数据处理基本操作
发布时间:2020-12-14 03:39:07 所属栏目:大数据 来源:网络整理
导读:#############操纵日期和缺失值###########################不要说别人的事情,做好自己的事情###################author:clebeg 2014/04/08###########实验数据leadership - data.frame(manager = numeric(0),date = character(0),country = character(0),g
#############操纵日期和缺失值################## #########不要说别人的事情,做好自己的事情###### #############author:clebeg 2014/04/08########## #实验数据 leadership <- data.frame(manager = numeric(0),date = character(0),country = character(0),gender = character(0),age = numeric(0),q1 = numeric(0),q2 = numeric(0),q3 = numeric(0),q4 = numeric(0),q5 = numeric(0) ) leadership <- edit(leadership) leadership <- read.csv(file="testData/leadership.csv",row.names="X",head=TRUE) #数据分析师大部分时间花在数据准备阶段 5%%2 #求模 5%/%2 #整除 ########基本数据操作########### mydata <- data.frame(x1 = c(2,2,6,4),x2 = c(3,4,8)) #with函数不会影响外部变量的值 with(data=mydata,expr={ mydata$sumx <<- x1 + x2 mydata$meanx <<- (x1 + x2)/2 }) #个人认为最好的方式用 transform() 函数,有点类似于 with 函数,该函数可以为数据创造属性,就如同with代码段一样 mydata <- transform(mydata,sumx = x1 + x2,meanx = (x1 + x2)/2) ##########重编码############ #重编码涉及根据同一个变量或其他变量的现有值创建新值的过程 #within函数与with函数类似,不同的是它允许修改数据框的值 leadership <- within(data = leadership,expr = { age[age == 99] <- NA agecat <- NA agecat[age > 75] <- "Elder" agecat[age >= 50 & age <= 75] <- "Middle Aged" agecat[age < 50] <- "Young" }) #reshape 包拥有一系列强大的数据集结构修改函数,比如:数据集属性的名字 #names() 函数来重命名变量 names(leadership) names(leadership)[1] <- "managerId" is.na(leadership$age)#NA(not available) NaN(not a number) ########### 缺失值的警示名言 ################################## #缺失值被认为是不可比较的,即便是与缺失值自身的比较。 #这意味着无法使用比较运算符来检测缺失值是否存在。 #例如,逻辑测试 myvar == NA 的结果永远不会为 TRUE 。 #作为替代,你只能使用处理缺失值的函数来识别出R数据对象中的缺失值 #含有缺失值的算术表达式和函数的计算结果也是缺失值 #多数的数值函数都拥有一个 na.rm=TRUE 选项,可以自动移除缺失值 #可以通过函数 na.omit() 移除所有含有缺失值的观测的行 omit(忽略) na.omit(leadership) ########### R语言中的日期值处理 ############################### #日期值通常以字符串的形式输入到R中,然后转化为以数值形式存储的日期变量。函数as.Date() 用于执行这种转化。 #as.POSIXlt()可以处理日期时间 help(as.Date) as.Date(leadership$date,format = "%m/%d/%y") #format的具体格式可以查看帮助文档help(strptime) Sys.Date() Sys.time() date() as.POSIXlt(Sys.time()) #日期计算 difftime() 函数 today <- Sys.Date() dob <- as.Date("1956-10-12") difftime(today,dob,units = "weeks") format(dob,format = "%A") #两个日期处理的好包:lubridate 包, fCalendar 包 ####################判断变量的具体类型############## #is.datatype() 这样的函数可以判断对象类型 #as.datatype() 这样的函数则将其参数转换为对应的类型。 #################### 数据排序 ####################### #可以使用 order() 函数对一个数据框进行排序。默认的排序顺序是升序。 #在排序变量的前边加一个减号即可得到降序的排序结果。 #最后注意 %in% 运算符的用法 和subset() 函数 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |