在R中,我使用expression(theta[l])
的是我的绘图轴的标签$\theta_l$
与LaTeX 的标签相同.出于美学原因,我更愿意展示$\theta_\ell$
.你能帮助我吗?
编辑
以前,我做过
plot(1:10, 1:10, xlab=expression(theta[l]))
Run Code Online (Sandbox Code Playgroud)
我以PDF格式导出了生成的图片.然后,使用
\begin{figure}[htbp]
\centerline{\includegraphics[scale=.6]{test.pdf}}
\end{figure}
Run Code Online (Sandbox Code Playgroud)
我的照片插入了LaTeX.
在评论之后,我现在正在做的事情:
require(tikzDevice)
tikz("test.tex", standAlone=TRUE, width=5, height=5)
plot(1:10, 1:10, xlab="$\\theta_\\ell$")
dev.off()
tools::texi2pdf('test.tex')
system(paste(getOption('pdfviewer'),'test.pdf'))
Run Code Online (Sandbox Code Playgroud)
但是,当我在LaTeX中插入结果图时,图形的质量不如以前那么好.还有什么我可以做的吗?
这是一个说明我的问题的玩具示例.
library(foreach)
library(doMC)
registerDoMC(cores=2)
foreach(i = 1:2) %dopar%{
i + 2
}
[[1]]
[1] 3
[[2]]
[1] 4
Run Code Online (Sandbox Code Playgroud)
到现在为止还挺好...
但是如果代码i + 2
保存在文件中addition.R
并且我使用source()
那时调用该文件
> foreach(i = 1:2) %dopar%{
+ source("addition.R")
+ }
Error in { : task 1 failed - "object 'i' not found"
Run Code Online (Sandbox Code Playgroud) 在R中,我有以下表达式,我想对其采取过多的衍生物s
(theta
并且nu
只是未指定的参数):
expr <- expression(exp((nu / (theta * (1 - nu))) *
(1 - (1 + theta * s / nu)^(1 - nu))))
Run Code Online (Sandbox Code Playgroud)
为此,我递归地使用D()函数,以符号方式计算简单表达式的导数.
但是该功能不执行任何简化,即它不会将结果简化为更简单的形式.
如果你尝试使用10阶导数,比如说,你会发现结果非常棒,需要大量的计算时间.在极限情况下,至少在我的计算机上,实际上不可能计算出第15个导数.
因此,我认为n-1
在计算导数之前尝试简化导数是值得的n
.
但是,我的测试并不是决定性的......
你们中有谁有这方面的经验吗?有人能给我一些建议吗?
先感谢您!
有人在使用R boxplot()
功能制作箱形图时是否知道如何移除框架?
有了这个plot()
函数,就会有一个optinal参数,frame=F
它完成了这个工作......但它没有被包含在boxplot()
函数中......
非常感谢你!
我有一个包含6个集群的数据集,每个集群包含48个(在这种情况下可能被审查event = 0
)生存时间.该x
列包含特定于集群的解释变量.我尝试使用伽玛脆弱模型描述该数据,如下所示
library(survival)
mod <- coxph(Surv(time, event) ~
x + frailty.gamma(cluster, eps=1e-10, method="em", sparse=0),
outer.max=1000, iter.max=10000,
data=data)
Run Code Online (Sandbox Code Playgroud)
这是错误消息:
Error in if (history[2, 3] < (history[1, 3] + 1)) theta <- mean(history[1:2, :
missing value where TRUE/FALSE needed
Run Code Online (Sandbox Code Playgroud)
有没有人知道如何调试?
library(dplyr)
Run Code Online (Sandbox Code Playgroud)
玩具数据集:
df <- data.frame(x = c(1, 2, 3), y = c(4, 5, 6))
df
x y
1 1 4
2 2 5
3 3 6
Run Code Online (Sandbox Code Playgroud)
这很好用:
df %>% filter(y == 5)
x y
1 2 5
Run Code Online (Sandbox Code Playgroud)
这也很好:
z <- 5
df %>% filter(y == z)
x y
1 2 5
Run Code Online (Sandbox Code Playgroud)
但这失败了
y <- 5
df %>% filter(y == y)
x y
1 1 4
2 2 5
3 3 6
Run Code Online (Sandbox Code Playgroud)
显然,dplyr无法区分其列y
和全局变量y
.有没有办法告诉dplyr第二个y是全局变量?
我有三个情节,我会安排在一个窗口.我可以使用par(mfrow = c(2, 2))
以下方法在常规的2*2网格上安排类似大小的图:
par(mfrow = c(2, 2))
plot(1:10, main = "plot1")
plot(10:1, main = "plot2")
plot(rnorm(10), main = "plot3")
Run Code Online (Sandbox Code Playgroud)
但是,我想在顶行上将"plot1"和"plot2"放在彼此旁边,并在它们下面"plot3",水平居中.我怎样才能做到这一点?
我正在使用doSMP
R-package foreach loops
.
我已经指定verbose=TRUE
作为可选参数foreach
报告对于故障排除非常有用.我想这是真的:它非常有用......如果我们理解它意味着什么.
能否请您解释一下迭代后返回的以下消息.
got chunk of 1 result(s) starting at # 1
numValues: 2, numResults: 1, stopped: TRUE
returning status FALSE
Run Code Online (Sandbox Code Playgroud)
编辑
根据徐旺的要求,这是一个最低限度的工作实例.
library(doSMP)
w <- startWorkers(2)
registerDoSMP(w)
root <- foreach(i=1:2, .verbose=TRUE) %dopar%
{
sqrt(i)
}
stopWorkers(w)
Run Code Online (Sandbox Code Playgroud)