我在下面编写了这段代码,它给了我想要的东西
pepgrs <- read.xls("HLA1.xlsx") #Load raw data file
names(pepgrs)[1] <- "Pos" #Remove the header and make line #1 the header
names(pepgrs)[2] <- "Peptide"
names(pepgrs)[3] <- "ID"
names(pepgrs)[4] <- "nM"
names(pepgrs)[5] <- "Rank"
names(pepgrs)[6] <- "Core"
names(pepgrs)[7] <- "Rank"
names(pepgrs)[8] <- "binding"
pepgrs <- pepgrs[-1, ] #Remove row #1
pepgrs$Rank <- as.numeric(pepgrs$Rank) #Change from function to numeric
基于排名的分组数据
pepgrs$annotated <- ifelse(pepgrs$Rank<=2, "0-2",
ifelse(pepgrs$Rank<=10, "2-10",
ifelse(pepgrs$Rank<=20, "10-20",
ifelse(pepgrs$Rank<=30, "20-30",
ifelse(pepgrs$Rank<=40, "30-40",
ifelse(pepgrs$Rank<50, "40-50", "All"))))))
绘制数据图表...注释与总结肽编号
barplot(figure1, xlab="Rank", ylab="Peptide count",
names.arg=c("0-2", "2-10", "10-20", "20-30", "30-40", "40-50", "All"),
col=rainbow(5))
这是我想要的输出
write.table(figure1, file = "nontpsec.xls") # output the data file
我尝试了这段代码,但我的输出是Null
pepgrs <- function(pepgrs) {
pepgrs <- read.xls("HLA1.xlsx")
names(pepgrs)[1] <- "Pos"
names(pepgrs)[2] <- "Peptide"
names(pepgrs)[3] <- "ID"
names(pepgrs)[4] <- "nM"
names(pepgrs)[5] <- "Rank"
names(pepgrs)[6] <- "Core"
names(pepgrs)[7] <- "Rank"
names(pepgrs)[8] <- "binding"
pepgrs <- pepgrs[-1, ]
table(pepgrs$binding)
pepgrs$Rank <- as.numeric(pepgrs$Rank)
pepgrs$annotated <- ifelse(pepgrs$Rank<=2, "0-2", ifelse(pepgrs$Rank<=10, "2- 10", ifelse(pepgrs$Rank<=20, "10-20", ifelse(pepgrs$Rank<=30, "20-30", ifelse(pepgrs$Rank<=40, "30-40", ifelse(pepgrs$Rank<50, "40-50", "All"))))))
figure1 <- table(pepgrs$annotated)
barplot(figure1, xlab="Rank", ylab="Peptide count", names.arg=c("0-2", "2-10", "10-20", "20-30", "30-40", "40-50", "All"), col=rainbow(5))
write.table(figure1, file = "nontpsec.xls")
}
my.files <- list.files(pattern = ".xlsx")
outputs <- lapply(my.files, pepgrs)
library(plyr)
one.header.output <- rbind(outputs)
write.table(one.header.output, file = "nontpsec1.csv") #Output is Null
这是我写过的第一个R剧本,非常感谢任何帮助。