数据导入与清洗
视频与代码来源:https://www.bilibili.com/video/BV1qc411J78Q/?spm_id_from=333.788&vd_source=fdd409f9662c4385e907cd8c7debb9dd
#设置工作路径
setwd("D:/biodate/mydatepackage")
#获取工作路径
getwd()
jike1 <- 1
jike2 <- 2
jike3 <- 3
#复制按住Alt和-,出现 <- 这个符号
jike1 + jike2 + jike3
#三个数值做加法运算
#数值型
jk1 <- c(1,3,5,7)
#赋值 1,3,5,7
jk1[2]
#找到JK1中的第二个数值
jk4 <-c(1:20)
#赋值1至20
#字符型
jk2 <- c("A","B","C","D")
#字符型一定要加“”号,用,隔开
jk2[2]
#找到第2个字符
#逻辑型
jk3 <- c(TRUE,FALSE,FALSE,TRUE,)
jk3
#报错
#3种格式数据导入
#读取txt
setwd("D:/biodate/mydatepackage")
rm(list=ls())
#清除历史记录
rt1 <- read.table("GSE34095_ag.txt")
#读取表格
rt2 <- data.table::fread("TCGA_Clinical.txt,dataa.table=F")
#读取csv
rt3 <- read.csv("anoikis.csv",row.names = 1,header = T)
读取csv文件名,含第一行表头为真值
读取xls
install.packages("XLS")
library(xlsxjars)
#安装xls数据包,如果加载不上,则没有该包,需要安装xlsx包(install.packages(xls))然后加载,或者从右下角点击install,输入包名字安装
rt4 <- read_excel(path ="grey.xlsx")
#读取
#数据导出
write.table(rt4,file=grey1.txt',sep = "t",row.names = T,quote =F)
#name = T 表示输出文件要行名,name = F 是不要行名
fix(rt4)
#交互式查看数据,可修改数据
rt4 <- as matrix(rt4)
#把数据框变成矩阵
class(rt4)
rt4 <- as.data.fram(rt4)
#把矩阵再转回数据库
class(rt4)
###数据清洗,即清除用不着的行或者列,有两种方式
rm(list = ls ())
#把环境变量即右上角environment中的数据清除,即文件列表清除,便于辨别查找数据
library(tidyverse)
rt2 <- data.talbe::fread("TCGA_clinical.tat",data.talbe =F)
#
DF1 <- rt2[,-c(2,3)]
#第1种是[对“行”选择,对“列”选择],-表示去除,2,3表示2和3列
DF2 <- rt2 %>% select(-c(2,3))
#第2种 %>% 表示清除符号,select(c(-2,3))选择第2和3列
indentical(DF1,DF2)
#判断两个数据清洗是否一样
DF3 <- rt2 %>% select(c(6:9))
#表示清洗第6到9列的数据,即删除6到9列的数据,只展示其他列的数据
DF4 <- rt2 %>% select(c(6:9)) %>% filter(M_stage =="M0")
#表示清除rt2文件中6到9列的数据,%>%通贯符,然后不断连接数据,过滤只保留行为M0的患者
#列转行名
DF5 <- rt2 %>% column_to_rowname("patient_ID")
#列转行名,即原始数据第1列的数字被删除,直接用Patient_ID代替了序数列,作为首列内容
DF6 <- DF5 %>% rowname_to_column("patient_ID")
#$符号##
TTT1 <- c(1:15)
#表示增加1列数据,从上到下1到15,共15行
rt2$ttt1 <- TTT1
#运用“$"将文件增加TTT1列