Data Cleaning --2019.4.24

对多个循环变量名赋值 assign 函数

assign (string1,values)

数据初步清洗小结

  • 导入数据 read.table(url)
  • str(df_name) 观察每个变量类型
  • unique(col_name) 分类变量观察值
  • 重新定义列名
  • 根据实际情况,删去空值, filter()函数赋值,删去无用变量
  • 重新定义level -- df<-droplevels(df) 删去过滤数据集冗余levels
    notes: 去除空值后,一定要重新定义fator (使用factor 函数) 的levels, levels 会决定后面数据的转换,并在生成列联表时自动定义特征值的空列

常用函数

  • identical(x,y) 判断两个object 是否完全相等
  • unique(df[colname_number] 去除重复列
  • rownames(df)提取df 行名// colnames() 列名,或赋值rownames(df)<- c(".....")
  • table(col1, col2) 提取列联表, 转为table 格式
  • as.data.frame() 将object 格式转换为df 格式
    -dplyr 包,实现数据库过滤,分组操作(data.table也可),特有符号 %>% 表示默认第一个参数为%>%前的对象

data.table 与data.frame

  • data.table 与data.frame 相比,处理速度有明显提升
  • datatable_name$V1, 提取数据方式与data.frame 相同,也可用table_name[colname]提取,无引号
    data.table 完成筛选:table_name[colname1 %in% c("....")]

关于模拟实验,或者交叉验证重复性操作可使用R 并行计算工具

  • R 包: doMC(仅仅Linux), doParallel(Windows, Linux可行)
  • 使用如下(可在参数中加入 Parallel== TRUE)
library(iterators) #加载doParallel前一定要加载iterators 包
library(doParallel)
require(doParallel) # 必须获取
registerDoParallel(cores=2) #分配计算内核数==2
system.time(cv.fit<-cv.glmnet(x=train_mutation_tb,y=train_patient_subtype_chr,
family="multinomial",parallel = TRUE)) #system.time 同时返回计算所用时间
  • 查看内核数
detectCores()

查看工作空间内存

  • memory. size() 当前占用内存
  • memory.limit() 总共可使用内存
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容