在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
4.2 创建新变量 几个运算符: ^或**:求幂 x%%y:求余 x%/%y:整数除 4.3 变量的重编码 with(): within():可以修改数据框 4.4 变量重命名 包reshape中有个函数rename,可以改名 rename(df,c(manage='managerID',date='testDate')) 或 names(df)[2]<-'newname' 4.5 缺失值 is.na():检查缺失值,是返回TRUE,否返回FALSE na.rm=TRUE选项可以用,比如 y<-sum(x,na.rm=TRUE) 移除缺失值 newdf<-na.omit(df) 4.6 日期值 as.Date():其中参数input_format的取值,真难记,默认日期是yyyy-mm-dd %d:数字日期 %a:缩写的星期名 %A:非缩写的星期名 %m:00~12 %b:缩写的月份 %B:非缩写的月份 %y:两位年份 %Y:四位年份 Sys.Date():当前日期 date():返回当前日期和时间,为什么不好好起名字呢,非要叫Date和date 可以用format提取一些东西 today <- Sys.Date() 日期可以相减 startdate <- as.Date("2004-02-13") 也可以 today <- Sys.Date() 4.6.1 将日期转换为字符型变量 as.character 4.7 类型转换 is.numeric --> as.numeric is.character is.vector is.data.frame is.factor is.logical 4.8 数据排序 order() newdata <- leadership[order(leadership$age), ] 这是升序,前面加个减号就是降序 newdata <- leadership[order(gender, -age), ] 这是按性别升序,年龄降序排序 4.9 数据集的合并 4.9.1 添加列 横向合并两个数据框,用merge() newdf<-merge(dfA,dfB,by="ID") newdf<-merge(dfA,dfB,by=c("ID","Country")) 如果不需要连接,用cbind就可以 4.9.2 添加行 rbind 4.10 数据集取子集 4.10.1 选入变量 选列 data<-df[,c(6:10)] 或按名称选择 myvars <- c("q1", "q2", "q3", "q4", "q5") 4.10.2 剔除变量 myvars <- names(leadership) %in% c("q3", "q4") 得到交集 或者 newdata <- leadership[c(-7, -8)] 4.10.3 选入观测 which函数 4.10.4 subset newdata <- subset(leadership, age >= 35 | age < 24, select = c(q1, q2, q3, q4)) 4.10.5 随机抽样 sample sample<-df[sample(1:nrow*(df),3,replace=FALSE] 不放回抽样 4.11 使用SQL操作数据框 library(sqldf)
|
请发表评论