我可以强制GGPLOT2散点图被方形具有相同的x和使用y缩放比例xlim()和ylim(),但它需要的限制人工计算.有没有更方便的方法呢?
方形我指的是两个要求:
我们给出了一系列数字,作为向量foo.任务是找到的foo是单调递增的 -每一个项目是否小于或等于下一个-或单调递减 -每个项目大于或小于下一个平等的.
当然,这可以通过循环找到,但更有创意吗?
将星星放在条形图或箱线图上以显示一组或两组之间的显着性水平(p值)是很常见的,下面是几个例子:



星数由p值定义,例如,p值<0.001时可以放3颗星,p值<0.01时可以放2颗星等等(虽然这会从一篇文章变为另一篇文章).
我的问题:如何生成类似的图表?根据显着性水平自动放置星星的方法非常受欢迎.
考虑我们已经调用debug()了几个函数来对它们进行断点.当我们找到并解决这个bug时,是否还有一个命令undebug()标记的所有函数debug()?
这是一个很好的基准,看看你提出的方法是否真的完美:
> library(limma) # bioconductor
> debug(read.ilmn)
> read.ilmn("a.txt") # No problem if this file does not exist
Browse[2]> debug(.read.oneilmnfile) # This is the debug browser for read.ilmn()
Browse[2]> Q # To exit debug browser
> undebug.all() # Here run your proposed function to undebug everything!
> read.ilmn("a.txt")
# Now if the debug browser is not started, you are lucky to pass this test!
Run Code Online (Sandbox Code Playgroud)
您可能会在下面看到接受的答案.任何情况下,这个答案不起作用,或更干净的版本是非常受欢迎的.
如何更改ggplot()图表中线条的透明度(即直方图,线图等)?
例如,考虑以下代码:
data <- data.frame(a=rnorm(100), b = rnorm(100,.5,1.2))
data <- melt(data)
colnames(data) <- c("Category", "Intensity")
p <- ggplot(data, aes(x=Intensity))
p <- p + geom_density(aes(color=Category), size=2, alpha=.4)
print(p)
Run Code Online (Sandbox Code Playgroud)
我预计线条会透明(如alpha=.4),但它们不是.

有没有办法阻止R程序没有错误?
例如,我有一个很大的来源,定义了几个函数,之后有一些函数调用.碰巧我编辑了一些函数,并希望在R环境中更新函数定义,但实际上并没有调用它们.
我定义了一个变量justUpdate,当它TRUE想要在函数定义之后停止程序时.
ReadInput <- function(...) ...
Analyze <- function(...) ...
WriteOutput <- function(...) ...
if (justUpdate)
stop()
# main body
x <- ReadInput()
y <- Analyze(x)
WriteOutput(y)
Run Code Online (Sandbox Code Playgroud)
我已调用stop()函数,但问题是它会输出错误消息.
ctrl+ c是另一种选择,但我想在特定行中停止源代码.
有问题q()或者quit()是它终止R对话,但我想有R对话仍处于打开状态.
正如@JoshuaUlrich提出的browser()可以是另一种选择,但仍然不完美,因为源终止于新环境(即R提示将改为Browser[1]>而不是>).我们仍然可以按下Q退出,但我正在寻找直截了当的方式.
另一个选择是使用,if (! justUpdate) { main body }但它正在清除问题,而不是解决它.
还有更好的选择吗?
我想知道在使用Mac时是否还支持R中从右到左的语言
例如,假设以下代码:
x <- data.frame(a=runif(10),b=runif(10))
ggplot(x, aes(a,b)) + geom_point() + xlab("????")
Run Code Online (Sandbox Code Playgroud)
结果如下:

在这里,我尝试将x标签更改为波斯语/阿拉伯语单词(سلام= Hello).虽然在代码中正确显示(使用R-Studio),但在图形中,سلام的字符以相反的顺序(从左到右)显示.
此外,两个连续字母(即连接到ل的س将是سل)之间的链接被打破.
你知道怎么解决它吗?
更新
在@agstudy的回答中我发现U在Ubuntu下完全没问题.但是我不知道如何解决Mac(OS X 10.9.1)中有R和R-Studio更新版本的问题
虽然该view3d(theta, phi,...)功能可用于在拍摄3d图表/对象的快照时将观察点旋转到合适的位置,但很难猜测哪个θ和phi值是好的.
一旦显示图表,我们就可以交互式旋转它.但是,无论如何在手动旋转后找出图的theta和phi参数,这样我们就可以以编程方式使用它(即在创建应该具有相同视点的许多图时)?
我在几种情况下看到,虽然read.table()无法读取制表符分隔文件(例如微阵列的注释表),但返回以下错误:
Error in scan(file, what, nmax, sep, dec, quote, skip, nlines, na.strings, :
line xxx did not have yyy elements
Run Code Online (Sandbox Code Playgroud)
read.csv()在同一个文件上完美运行,没有错误.我觉得速度read.csv()也高于read.table().
甚至更多:read.table()读取我的文件非常疯狂.它在读取第100行时会出现此错误,但是当我在相同文件的头部之后复制并粘贴第90行到第110行时,它仍然会出现第100 + 21行的错误(在开头复制新行).如果该行存在任何问题,为什么在开头读取粘贴的行时不报告该错误?我确认read.csv()读取相同的文件没有错误.
你知道为什么read.table()无法读取相同的文件read.csv()吗?read.table()在任何情况下也有任何理由吗?
我正在运行程序,它被Segmentation fault中断.问题是核心转储文件已创建,但大小为零.
你听说过这样的案件以及如何解决吗?
我在磁盘上有足够的空间.我已经执行ulimit -c unlimited了无限制核心文件的大小 - 运行它或放在提交的批处理文件的顶部 - 但仍然有0字节的核心转储文件.包含这些文件的文件夹的权限是uog + rw,创建的核心文件的权限仅为u + rw.
该程序是由C++编写的,并使用Grid Engine的qsub命令在linux集群上提交,我不知道这些信息是否与此问题相关.