我知道,有已经被一个类似的问题在这里,但得到的答复是外的日期.我在互联网上找到的信息是指RStudio Server而不是Desktop.
我在Windows 7 x64 PC上的资源有限.我已经设置了环境变量R_MAX_MEM_SIZE,这被RGui接受(如输入时所见memory_limit()).但是,RStudio(版本0.98.507)忽略了这个设置,仍然使用我的计算机的整个内存,这有时会导致整个系统崩溃.在RStudio Desktop中运行R时,如何限制R使用的内存量?
我想定制xtable出口到LaTeX.我知道这里有一些问题xtable,但我找不到我正在寻找的具体事情.
以下是我的表格的示例:
my.table <- data.frame(Specifiers=c("","Spec1", "Spec2", "Spec3"),
Values1 = c("N=10", 1.03, 1.71, 2.25),
Values2 = c("N=20", 1.32, 1.79, 2.43))
colnames(my.table)[1] <- ""
Run Code Online (Sandbox Code Playgroud)
这创造了:
Values1 Values2
1 N=10 N=20
2 Spec1 1.03 1.32
3 Spec2 1.71 1.79
4 Spec3 2.25 2.43
Run Code Online (Sandbox Code Playgroud)
事实上,该表从.csv文件作为进口data.frame与my.table <- read.delim("filename.csv", sep=",", header=TRUE)
现在我创建一个LaTeX表xtable:
latex.tab <- xtable(my.table, caption=c("Stats"))
print(latex.tab, file="Summarystats.tex",
floating.environment='sidewaystable',
include.rownames=FALSE,
booktabs=TRUE,
latex.environment=NULL)
Run Code Online (Sandbox Code Playgroud)
以下是生成的LaTeX代码:
\begin{sidewaystable}[ht]
\begin{tabular}{lllllll}
\toprule
& Values1 & Values2 \\
\midrule
N=10 & N=20 \\
Spec1 …Run Code Online (Sandbox Code Playgroud) 有时,使用某些参数调用函数会导致错误消息formal argument "foo" matched by multiple actual arguments.是否可以打印含糊不清的实际参数列表?
我问这个的原因是目前与有问题plot的类的对象功能mixEM(通过产生normalmixEM从mixtools包中).它不接受的说法ylim产生上述错误,但是当我尝试使用ylim2(它适用于道路xlab2,main2,col2等),它说"ylim2" is not a graphical parameter.所以我想知道匹配的实际论点是ylim什么?
使用formals(plot.mixEM)没有帮助,因为它不包含任何开头的内容ylim,但最后它指的...是传递给它的图形参数plot.但是,对于该plot功能,ylim将是明确的.从R冲突参数列表中获取更准确的错误描述会很有帮助.
UPD:MWE:
library(mixtools)
wait = faithful$waiting
mixmdl = normalmixEM(wait)
plot(mixmdl, which = 2, xlim = c(25, 110), nclass=20)
lines(density(wait), lty = 2, lwd = 2)
Run Code Online (Sandbox Code Playgroud)
这会产生错误:
plot(mixmdl, which …Run Code Online (Sandbox Code Playgroud) 我必须创建一堆包含大量数据点的图表.到目前为止,我一直在通过将所有这些绘制成一个pdf文件来做到这一点:
pdf("testgraph.pdf")
par(mfrow=c(3,3))
for (i in 2:length(names(mtcars))){
plot(mtcars[,1], mtcars[,i])
}
dev.off()
Run Code Online (Sandbox Code Playgroud)
但是,由于数据点很多,pdf文件会变得太大.由于我对优秀品质不感兴趣,我不在乎我的情节是否是矢量图形.所以我想到创建绘图png,然后将它们插入到pdf文件中.有没有办法做到这一点,除了创建的R图表和将它们插入到pdf与knitr(我认为这是太繁琐了这样一个简单的工作)?
在数据框中,我有一列包含字符串.让我们说它看起来像这样:
x <- unique(df[,1])
x
"A" "A" "B" "B" "B" "C"
Run Code Online (Sandbox Code Playgroud)
我想把所有可能的独特字符串组合作为2组而不关心他们的顺序,所以A, B是相同的B, A,我不想得到与组合相同的值A, A.到目前为止,我到目前为止:
comb <- expand.grid(x, x)
comb <- comb[which(comb[,1] != comb[,2]),]
Run Code Online (Sandbox Code Playgroud)
但是这仍然存在以不同顺序具有相同字符串组合的行的问题.我怎么摆脱这个?
有没有办法让rasterGrob对象部分透明,所以要为它添加一个alpha因子?我ggplot2通过插入一个png-image(作为rasterGrob)在图中使用徽标作为水印annotation_custom.但是,与此不同annotate,该alpha选项在这里不起作用,所以我猜想必须提前更改图像.
作为一个简单的例子,基于baptiste在他的博客中提出的建议,到目前为止,我这样做:
img.path <- readPNG("logo.png")
pngob <- rasterGrob(img.path)
qplot(1:10, rnorm(10), geom = "blank") +
annotation_custom(pngob, xmin=6.8, xmax=Inf, ymin=1, ymax=Inf) +
geom_point()
Run Code Online (Sandbox Code Playgroud)
上面的例子非常有效.
但是,键入dim(pngob)控制台返回NULL.因此,下面关于如何设置alpha-value 的建议不起作用:
m <- pngob
w <- matrix(rgb(m[,,1],m[,,2],m[,,3], m[,,4] * 0.2), nrow=dim(m)[1])
Run Code Online (Sandbox Code Playgroud)
这将返回错误 Error in m[, , 1]: wrong number of dimensions
我的数据库表看起来大致如下:
+-----+-------+--------------------+-----------+----------+
| ID1 | ID2 | FilePath1 | FilePath2 | Status |
+-----+-------+--------------------+-----------+----------+
| 1 | Test1 | MyFolder\R\Folder1 | NULL | Open |
| 2 | Test2 | MyFolder\R\Folder2 | NULL | Open |
| 3 | Test3 | MyFolder\R\Folder3 | NULL | Finished |
| 4 | Test4 | MyFolder\R\Folder4 | NULL | Finished |
+-----+-------+--------------------+-----------+----------+
Run Code Online (Sandbox Code Playgroud)
第一列(ID1)定义为PK.但是,ID2也是独一无二的.
现在,我希望能够改变FilePath2并Status用,使用R sqlUpdate()从RODBC包.所以我尝试以下方法:
db.df <- data.frame(ID1=1, ID2='Test1',
FilePath2='MyFolder\R\Folder5', Status='Finished',
stringsAsFactors=FALSE)
sqlUpdate(myconn, db.df, tablename='mytable', index='ID2', …Run Code Online (Sandbox Code Playgroud) 有没有办法消除从箱晶须情节晶须一个简单的方法ggplot2在R?我想只保留盒子.
MWE:
library("ggplot2")
p <- ggplot(mtcars, aes(factor(cyl), mpg))
p + geom_boxplot(outlier.size = 0)
Run Code Online (Sandbox Code Playgroud) 我想在ggplot2中创建一个带边距的刻面图.但是,我希望边距图可以根据特定点的派生面来获得颜色.最好用一个例子来说明:
library(ggplot2)
p <- ggplot(mtcars, aes(mpg, wt)) + geom_point()
p + facet_grid(.~gear, margins = TRUE)
Run Code Online (Sandbox Code Playgroud)
在标记为"(全部)"的边距图中,我希望那些具有"gear = 3"的点用一种颜色绘制,带有"gear = 4"的颜色用第二种颜色绘制,而那些带有"gear = 5"的那些点第三个.
这个不做这个工作:
p <- ggplot(mtcars, aes(mpg, wt)) + geom_point(aes(col=gear))
p + facet_grid(.~gear, margins = TRUE)
Run Code Online (Sandbox Code Playgroud)
有没有办法实现我想要的?
我正在尝试使用rmongodb从MongoDB数据库中获取信息以便在R中进一步处理.但是,我真的开始时遇到了一些困难.这个工作:
cursor <- mongo.find(mongo, "people", query=list(last.name="Smith", first.name="John"),
fields=list(address=1L, age=1L))
while (mongo.cursor.next(cursor)){
print(mongo.cursor.value(cursor))}
Run Code Online (Sandbox Code Playgroud)
现在,如果我想找到名字是"John"或"Bob"或"Catherine"的人呢?我试过query=list(last.name="Smith", first.name=c(John, Bob, Catherine))但这没有用.替换也没有=用%.
另一个问题是数据库内容是嵌套的,这意味着我有子树,子树等等.例如,对于条目first.name="John", last.name="Smith"我可能有子条目address, age, occupation,并且再次占用我可能有类别作为子树(例如从2005年到2012年的年份和每年我都会有一个像"失业","职员","企业家"这样的条目.那么,如果我想找到所有名字为"约翰"的人,他们已经40岁并且在2010年失业了怎么办?查询会是什么样的?
编辑作为对Stennie的回复:这是我的数据库结构和我正在尝试的查询的示例.想象一下,一所大学的校友被细分为小组(例如"非常好的学生","好学生"等).然后,每个组都包含已分配给该组的人员列表及其详细信息.
(0){..}
_id : (Object ID) class id
groupname: (string) unique name for this group (e.g. "beststudents")
members[11]
(0){..}
persid : (integer) 1
firstname: (string)
surname: (string)
age: (integer)
occupation: (string)
(1){..}
persid : (integer) 2
firstname: (string)
surname: (string)
age: (integer)
occupation: (string)
# and so on …Run Code Online (Sandbox Code Playgroud)