首先設(shè)置Rstudio的讀取目錄很重要
getwd() # 查看Rstudio的運(yùn)行目錄
setwd("需要設(shè)置絕對(duì)的路徑") # 更改文件路徑到你需要操作的文件所在的目錄
1 讀取txt文件**
ddd<-read.table("DAVID.txt",sep = "\t",header = T,na.strings = c("NA"),na.strings = c("NA"),stringsAsFactors = F,comment.char = '!')
a <- read.table("GSE156376_series_matrix.txt",sep = "\t"
,header = T,
comment.char = '!')
sep = "\t"表示制表符分隔
header = T表示第一行包含變量名
na.strings = c("NA")表示文件中的缺失數(shù)據(jù)都是用NA代替
具體參數(shù)信息如下
圖片
2 讀取csv文件**
R讀取csv文件和讀取txt文件很類似,使用的是read.csv()代碼,參數(shù)基本上也是一樣的
這是一個(gè)csv文件,一般都是逗號(hào)分隔
ddd<-read.csv("nzp.csv",sep = ",",header = T,na.strings = c("NA"))
3 讀取xls和xlsx文件**
讀取xls或者xlsx需要安裝R包,我們這里介紹readxl的使用
#install.packages("xlsx")
help("xlsx")#查看xlsx的參數(shù)及用法
data <- read.csv("nzp2.csv", encoding="UTF-8")
print(data)
getwd()
setwd("/Users/nzp/single_cell_seq_git/Practice_With_R")
print(ncol(data)) # 列數(shù)
print(nrow(data)) # 行數(shù)
like <- max(data$likes)
print(like)
data <- read.csv("nzp2.csv", encoding="UTF-8")
# likes 為 222 的數(shù)據(jù)
retval <- subset(data, likes == 222)
print(retval)
retval <- subset(data, likes > 1 & name=="Runoob")
print(retval)
#保存為 CSV 文件
# 寫入新的文件
write.csv(retval,"runoob.csv")
newdata <- read.csv("runoob.csv")
#字符合并命名文件名
write.csv(xx, file=paste0("seurat_clusters_",n, "_gene_list.csv"))
print(newdata)
# X 來自數(shù)據(jù)集 newper,可以通過參數(shù) row.names = FALSE 來刪除它:
# 寫入新的文件
write.csv(retval,"runoob.csv", row.names = FALSE)
newdata <- read.csv("runoob.csv")
print(newdata)
# 驗(yàn)證包是否安裝
any(grepl("xlsx",installed.packages()))
any(grepl("XML",installed.packages()))
library("xlsx")
# 讀取 sites.xlsx 第一個(gè)工作表數(shù)據(jù)
getwd()
setwd("/Users/nzp/single_cell_seq_git/Practice_With_R")
data <- read.xlsx("nzp.xlsx", sheetIndex = 1)
print(data)
install.packages("XML", repos = "https://mirrors.ustc.edu.cn/CRAN/")
# 載入 XML 包
library("XML")
# 設(shè)置文件名
result <- xmlParse(file = "nzp2.xml")
# 輸出結(jié)果
print(result)
# 提取根節(jié)點(diǎn)
rootnode <- xmlRoot(result)
# 統(tǒng)計(jì)數(shù)據(jù)量
rootsize <- xmlSize(rootnode)
# 輸出結(jié)果
print(rootsize)
rootnode <- xmlRoot(result)
# 查看第 2 個(gè)節(jié)點(diǎn)數(shù)據(jù)
print(rootnode[2])
# 查看第 2 個(gè)節(jié)點(diǎn)的第 1 個(gè)數(shù)據(jù)
print(rootnode[[2]][[1]])
# 查看第 2 個(gè)節(jié)點(diǎn)的第 3 個(gè)數(shù)據(jù)
print(rootnode[[2]][[3]])
# 轉(zhuǎn)為列表
xml_data <- xmlToList(result)
print(xml_data)
print("============================")
# 輸出第一行第二列的數(shù)據(jù)
print(xml_data[[1]][[2]])
# xml 文件數(shù)據(jù)轉(zhuǎn)為數(shù)據(jù)框
xmldataframe <- xmlToDataFrame("nzp2.xml")
print(xmldataframe)
#R 讀取JSON 文件
install.packages("rjson", repos = "https://mirrors.ustc.edu.cn/CRAN/")
# 載入 rjson 包
library("rjson")
# 獲取 json 數(shù)據(jù)
result <- fromJSON(file = "nzp4.json")
# 輸出結(jié)果
print(result)
print("===============")
# 輸出第 1 列的結(jié)果
print(result[1])
print("===============")
# 輸出第 2 行第 2 列的結(jié)果
print(result[[2]][[2]])
# 轉(zhuǎn)為數(shù)據(jù)框
json_data_frame <- as.data.frame(result)
print(json_data_frame)
批量讀取表達(dá)矩陣
library(Seurat)
library(dplyr)
library(Matrix)
library(stringr)
library(readr)
library(here)
FACS_files = list.files(here("00_data_ingest","00_facs_raw_data","FACS"), full.names = TRUE)
raw.data.list = list()
for (file in FACS_files){
raw.data <- read.csv(file, row.names = 1)
raw.data <- Matrix(as.matrix(raw.data), sparse = TRUE)
raw.data.list <- append(raw.data.list, raw.data)
}
raw.data <- do.call(cbind, raw.data.list)