我有 tsv 文件,它们都有一列和相同的行数。我正在使用 ggplot (stat_smooth) 绘制它们,但我希望程序灵活stat_smooth
,这意味着根据提供的文件数量作为输入添加更多函数调用。
输入的长度取自length(commandArgs(TRUE))
,我将数据存储在一个变量中
cov=data.frame(sapply(1:length(commandArgs(TRUE)),
function(i)read.csv(proteins[i],sep='\t',colClasses=c(NA,"NULL"))))
文件在哪里proteins<-commandArgs(TRUE)
,我正在colnames
使用另一个代码添加。
现在,问题出现在 ggplot 上,我如何smooth_line
根据提供的参数数量调用 ggplot 以即时调用。
我正在尝试类似的东西,
m=ggplot(cov,aes(seq,cov[,2]))
p=function(i){return(stat_smooth(aes(color=colnames(cov)[i])))}
m+p(1)+.....
使用 a添加p
到核心 ggplot 绘图启动器,但这似乎没有意义。m
for loop
应该有一种更有效的方法。这个想法是根据cov
data.frame 中的列构建调用,其中的数据如下
seq fileA fileB
1 8429.262 8606.623
2 8766.138 9066.361
3 9081.893 9456.915
4 9342.380 9784.373
5 9480.860 10067.121
6 9581.437 10312.253
有人可以提出一些建议吗?