好吧,我承认这个有点紧张(读:"愚蠢"),我认为它也很容易.我正在编写一份报告,我想使用xtable
包来生成LaTeX表(注意memisc
包可以完成这项工作,但是我说我想单独使用它xtable
).
让我们使用标准mtcars
数据集和reshape
包:
mdtf <- melt(mtcars, id.vars = c("am", "cyl"), measure.vars = c("mpg", "hp", "wt"))
( res <- cast(mdtf, am + cyl ~ variable, mean) )
am cyl mpg hp wt
1 0 4 22.90000 84.66667 2.935000
2 0 6 19.12500 115.25000 3.388750
3 0 8 15.05000 194.16667 4.104083
4 1 4 28.07500 81.87500 2.042250
5 1 6 20.56667 131.66667 2.755000
6 1 8 15.40000 299.50000 3.370000
Run Code Online (Sandbox Code Playgroud)
如果我把它包装在里面xtable
,我会得到行名(1..6):
xtable(res) …
Run Code Online (Sandbox Code Playgroud) 我试图使标题不言自明,但这里 - 数据优先:
dtf <- structure(list(variable = structure(c(1L, 1L, 2L, 2L, 3L, 3L,
4L, 4L, 5L, 5L), .Label = c("vma", "vla", "ia", "fma", "fla"), class = "factor"),
ustanova = structure(c(1L, 2L, 1L, 2L, 1L, 2L, 1L, 2L, 1L,
2L), .Label = c("srednja škola", "fakultet"), class = "factor"),
`(all)` = c(42.9542857142857, 38.7803203661327, 37.8996138996139,
33.7672811059908, 29.591439688716, 26.1890660592255, 27.9557692307692,
23.9426605504587, 33.2200772200772, 26.9493087557604)), .Names = c("variable",
"ustanova", "(all)"), row.names = c(NA, 10L), class = c("cast_df",
"data.frame"), idvars = c("variable", "ustanova"), rdimnames = list(
structure(list(variable …
Run Code Online (Sandbox Code Playgroud) 我希望这个问题不会成为"问答"问题......这里说:(多)共线性是指回归模型中预测变量之间的极高相关性.如何治愈它们......好吧,有时你不需要"治愈"共线性,因为它不会影响回归模型本身,而是解释个体预测因子的影响.
发现共线性的一种方法是将每个预测变量作为因变量,将其他预测变量作为自变量,确定R 2,如果它大于.9(或.95),我们可以考虑预测变量冗余.这是一种"方法"......其他方法呢?其中一些是耗时的,比如从模型中排除预测变量并观察b系数变化 - 它们应该明显不同.
当然,我们必须始终牢记分析的具体背景/目标......有时候,唯一的补救措施就是重复研究,但是现在,我对以多种共线性(多)共线性筛选冗余预测因子的各种方式感兴趣发生在回归模型中.
虽然我知道如何在Emacs中设置全局键绑定,但我发现很难将Google的代码用于本地(特定于模式的)键绑定.例如,我在我的代码中有这样的代码.emacs
:
;; PDFLaTeX from AucTeX
(global-set-key (kbd "C-c M-p")
(lambda ()
(interactive)
(shell-command (concat "pdflatex " buffer-file-name))))
Run Code Online (Sandbox Code Playgroud)
我不想全局设置它.有没有这样的功能local-set-key
?
......除了这个事实,RSCRIPT被调用,#!/usr/bin/env Rscript
并利特勒用#!/usr/local/bin/r
在脚本文件的第一行(我的系统上).我发现执行速度存在某些差异(似乎littler有点慢).
我创建了两个虚拟脚本,每次运行1000次并比较平均执行时间.
这是Rscript文件:
#!/usr/bin/env Rscript
btime <- proc.time()
x <- rnorm(100)
print(x)
print(plot(x))
etime <- proc.time()
tm <- etime - btime
sink(file = "rscript.r.out", append = TRUE)
cat(paste(tm[1:3], collapse = ";"), "\n")
sink()
print(tm)
Run Code Online (Sandbox Code Playgroud)
这是更小的文件:
#!/usr/local/bin/r
btime <- proc.time()
x <- rnorm(100)
print(x)
print(plot(x))
etime <- proc.time()
tm <- etime - btime
sink(file = "little.r.out", append = TRUE)
cat(paste(tm[1:3], collapse = ";"), "\n")
sink()
print(tm)
Run Code Online (Sandbox Code Playgroud)
如您所见,它们几乎相同(第一行和接收器文件参数不同).输出被sink
编辑到文本文件,因此导入R中read.table …
我很确定你们很多人都在使用git
CVS.如何绕过以下警告R CMD check
:
* checking for executable files ... WARNING
Found the following executable file(s):
Run Code Online (Sandbox Code Playgroud)
我尝试将.git
文件夹放入.Rbuildignore
,但没有运气.
我认为对于那些使用Github来托管R包的人来说,这个是微不足道的.有任何想法吗?
这似乎是一个简单的(它可能是),但由于我是脑力衰退,我已准备好羞辱墙.
如何复制列表对象n
次数,然后将其包装在列表中?像这样的东西:
list(foo = "", bar = 0)
Run Code Online (Sandbox Code Playgroud)
为了得到:
list(
list(foo = "", bar = 0),
list(foo = "", bar = 0)
)
Run Code Online (Sandbox Code Playgroud)
我正在开发一个R包,我想设置一些函数别名,例如,如果我已经定义了一个名为的函数foo
,我希望它也可以在bar
符号下使用.请注意,我知道@alias
标签,但这不是我想要的.我应该创建一个新文件(可能aliases.R
)并将所有别名放在那里吗?
好吧,我们都熟悉R中的双冒号运算符.每当我要写一些函数时,我都会使用require(<pkgname>)
,但我一直在考虑使用::
.require
在自定义函数中使用是比更好的做法library
,因为require
返回警告,并且FALSE
,library
如果提供不存在的包的名称,则会返回错误.
另一方面,::
操作员从包中获取变量,同时require
加载整个包(至少我希望如此),因此速度差异首先出现在我的脑海中.::
必须快于require
.
我做了一些分析,以便检查 - 我写了两个简单的函数,read.systat
从foreign
包中加载函数require
,::
分别使用和导入Iris.syd
数据集,包含foreign
包,每个复制函数1000次(这是无耻的任意),和. ..打了一些数字.
奇怪(或没有)我发现在用户CPU和经过时间方面存在显着差异,而在系统CPU方面没有显着差异.然而更奇怪的结论::
是:实际上更慢!文档::
是非常生硬的,只是通过查看来源,显然::
应该表现更好!
要求
#!/usr/local/bin/r
## with require
fn1 <- function() {
require(foreign)
read.systat("Iris.syd", to.data.frame=TRUE)
}
## times
n <- 1e3
sink("require.txt")
print(t(replicate(n, system.time(fn1()))))
sink()
Run Code Online (Sandbox Code Playgroud)
双结肠
#!/usr/local/bin/r
## with ::
fn2 <- function() {
foreign::read.systat("Iris.syd", to.data.frame=TRUE) …
Run Code Online (Sandbox Code Playgroud) 我正试图在条形图中显示频率......好吧,我想要它们在图表中的某个位置:条形图,条形图形,条形图形区域或图例区域.我记得(我可能错了)它可以完成ggplot2
.这可能很简单......至少看起来很容易.这是代码:
p <- ggplot(mtcars)
p + aes(factor(cyl)) + geom_bar()
Run Code Online (Sandbox Code Playgroud)
我有可能在图表中嵌入频率吗?
r ×9
ggplot2 ×2
bar-chart ×1
emacs ×1
frequency ×1
git ×1
key-bindings ×1
latex ×1
namespaces ×1
package ×1
packages ×1
plot ×1
regression ×1
report ×1
scripting ×1
statistics ×1