R语言学习笔记——R语言数据处理基本操作

来源:互联网 发布:c指针的编程题 编辑:程序博客网 时间:2024/06/05 06:52
#############操纵日期和缺失值###########################不要说别人的事情,做好自己的事情###################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, 2, 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() 函数

0 0
原创粉丝点击