首先设置Rstudio的读取目录很重要
getwd() # 查看Rstudio的运行目录
setwd("需要设置绝对的路径") # 更改文件路径到你需要操作的文件所在的目录
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")表示文件中的缺失数据都是用NA代替
具体参数信息如下
图片2 读取csv文件**
R读取csv文件和读取txt文件很类似,使用的是read.csv()代码,参数基本上也是一样的
这是一个csv文件,一般都是逗号分隔
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的参数及用法
data <- read.csv("nzp2.csv", encoding="UTF-8")
print(data)
getwd()
setwd("/Users/nzp/single_cell_seq_git/Practice_With_R")
print(ncol(data)) # 列数
print(nrow(data)) # 行数
like <- max(data$likes)
print(like)
data <- read.csv("nzp2.csv", encoding="UTF-8")
# likes 为 222 的数据
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 来自数据集 newper,可以通过参数 row.names = FALSE 来删除它:
# 写入新的文件
write.csv(retval,"runoob.csv", row.names = FALSE)
newdata <- read.csv("runoob.csv")
print(newdata)
# 验证包是否安装
any(grepl("xlsx",installed.packages()))
any(grepl("XML",installed.packages()))
library("xlsx")
# 读取 sites.xlsx 第一个工作表数据
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")
# 设置文件名
result <- xmlParse(file = "nzp2.xml")
# 输出结果
print(result)
# 提取根节点
rootnode <- xmlRoot(result)
# 统计数据量
rootsize <- xmlSize(rootnode)
# 输出结果
print(rootsize)
rootnode <- xmlRoot(result)
# 查看第 2 个节点数据
print(rootnode[2])
# 查看第 2 个节点的第 1 个数据
print(rootnode[[2]][[1]])
# 查看第 2 个节点的第 3 个数据
print(rootnode[[2]][[3]])
# 转为列表
xml_data <- xmlToList(result)
print(xml_data)
print("============================")
# 输出第一行第二列的数据
print(xml_data[[1]][[2]])
# xml 文件数据转为数据框
xmldataframe <- xmlToDataFrame("nzp2.xml")
print(xmldataframe)
#R 读取JSON 文件
install.packages("rjson", repos = "https://mirrors.ustc.edu.cn/CRAN/")
# 载入 rjson 包
library("rjson")
# 获取 json 数据
result <- fromJSON(file = "nzp4.json")
# 输出结果
print(result)
print("===============")
# 输出第 1 列的结果
print(result[1])
print("===============")
# 输出第 2 行第 2 列的结果
print(result[[2]][[2]])
# 转为数据框
json_data_frame <- as.data.frame(result)
print(json_data_frame)
批量读取表达矩阵
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)
网友评论