对多个循环变量名赋值 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() 总共可使用内存