library("pheatmap") library("jsonlite") setwd(dir = "D:/Diyang/1") temp = list.files(pattern="*.csv") myfiles = lapply(temp, read.csv) myfiles = lapply(myfiles, na.omit) file_nums = length(temp) filename = sapply(strsplit(temp,"\\."),"[[",1) for(i in filename) { df = read.csv(paste0(i,'.csv'),header=T,row.names=1) df = replace(df,is.na(df),1) df_temp = df for (name in c("ACC","BLCA")) { print(df[which(colnames(df) == name)]) } df = -log10(abs(df)) df[df_temp<0] = -df[df_temp<0] pdf(paste0(i,'.pdf'),length(colnames(df))/2,length(rownames(df))/2) paletteLength = 1000 #immune #myColor <- colorRampPalette(c("white", "#FF7C00"))(paletteLength) #exp #myColor <- colorRampPalette(c("white", "red"))(paletteLength) #cell #myColor <- colorRampPalette(c("white", "blue"))(paletteLength) #drug #myColor <- colorRampPalette(c("white", "#660BAB"))(paletteLength) #yzx_gx #myColor <- colorRampPalette(c("white", "#C7007D"))(paletteLength) #exp宸紓 # myColor <- colorRampPalette(c("green", "white", "red"))(paletteLength) # myBreaks <- c(seq(min(df), 0, length.out=ceiling(paletteLength/2) + 1), # seq(max(df)/paletteLength, max(df), length.out=floor(paletteLength/2))) #myBreaks <- c(seq(0, max(df), length.out=floor(paletteLength/2))) ####################################### getSig <- function(dc) { sc <- ' ' if (dc < 0.0001) {sc <- '****'} else if (dc < 0.001){sc <- '***'} else if (dc < 0.01){sc <- '**'} else if (dc < 0.05) {sc <- '*'} else{sc <- ''} return(sc) } sig.mat <- matrix(sapply(as.matrix(df_temp), getSig), nrow=nrow(as.matrix(df_temp))) str(sig.mat) ######################################## xx <- pheatmap(df, color=myColor, breaks=myBreaks, clustering_method="average", cluster_rows=F,cluster_cols=F, cellwidth = 20,cellheight = 20,main="-log10(p)",display_numbers=sig.mat) print(xx) dev.off() }为什么最后没有出土
时间: 2024-04-09 14:27:15 浏览: 136
你的代码最后没有生成预期的PDF文件,可能是由于以下原因之一:
1. 检查目录中是否有足够的空间来存储生成的PDF文件。
2. 确保设置的工作目录`"D:/Diyang/1"`是正确的,并且包含了你想要读取的`.csv`文件。
3. 检查`.csv`文件是否包含合适的数据,并且能够正确读取。
4. 确保`myColor`和`myBreaks`变量已经正确定义,并且与你想要使用的颜色和断点匹配。
5. 确保在循环中,每次生成的PDF文件名是唯一的,以免覆盖之前生成的文件。
请逐步检查代码中的这些问题,并根据需要进行修正。如果问题仍然存在,请提供更多详细信息,以便我能够更好地帮助你。
相关问题
setwd("E:/R/R文件/dat.csv") Error in setwd("E:/R/R文件/dat.csv") : cannot change working directory
这个错误是因为你试图将工作目录更改为一个 csv 文件,而不是一个目录。在 R 中,setwd() 函数用于更改工作目录。你需要将其更改为包含 csv 文件的目录,而不是文件本身。例如,如果你的 csv 文件在 E:/R/R文件 目录中,你可以使用以下命令来更改工作目录:
```
setwd("E:/R/R文件")
```
这将更改工作目录为 E:/R/R文件 目录,你就可以使用 read.csv() 函数来读取 csv 文件了。
R file.exists(“D:/桌面/R/SKM.h5ad”) [1] TRUE setwd(“D:/桌面/R/SKM.h5ad”) 错误于setwd(“D:/桌面/R/SKM.h5ad”): 无法改变工作目录
当你尝试通过`setwd()`函数更改R的工作目录到"D:/桌面/R/SKM.h5ad"时,遇到错误表明该路径下的文件夹存在但可能没有写权限或者当前已经有其他R进程在使用这个目录。R的一个常见操作是在读取或写入文件时创建`index.lock`这样的临时文件来管理状态。
对于这种情况,你可以尝试按照以下步骤解决:
1. **检查权限**:
```r
if (!file.access("D:/桌面/R/SKM.h5ad", write = TRUE)) {
message("You do not have write permissions to the directory.")
}
```
2. **确认无其他R进程占用**:
如果R的`index.lock`文件已由其他进程锁定(如Git),可以先尝试结束这些进程,或者等待它们自动关闭。在命令行中,如果是Git的情况,参考[引用1]的方法:
```sh
cd D:\桌面\R\SKM.h5ad
git status --untracked-files=no | grep index.lock
(如果有显示,那么可能是git进程,按照命令行提示结束进程,如 `rm -f ./.git/index.lock`)
```
3. **重新设置工作目录**:
如果以上问题解决,再尝试设置工作目录:
```r
setwd("D:/桌面/R/SKM.h5ad")
```
4. **异常处理**:
```r
tryCatch({
setwd("D:/桌面/R/SKM.h5ad")
}, error = function(e) {
cat("Error changing working directory:", e$message, "\n")
})
```
这会尝试设置工作目录并在发生错误时捕获并打印错误信息。
阅读全文
相关推荐
















