小编luc*_*ano的帖子

基于边远计数的子集数据帧

我有一个如下所示的数据框:

df <- data.frame(Site=rep(paste0('site', 1:5), 50),
           Month=sample(1:12, 50, replace=T),
           Count=(sample(1:1000, 50, replace=T)))
Run Code Online (Sandbox Code Playgroud)

我想删除所有网站上计数总是<每月最大月数的5%的网站.

所有网站的最高月度计数为:

library(plyr)
ddply(df, .(Month), summarise, Max.Count=max(Count))
Run Code Online (Sandbox Code Playgroud)

如果将1的计数分配给site5,则其计数始终<所有站点的最大月计数的5%.因此我希望删除site5.

df$Count[df$Site=='site5'] <- 1
Run Code Online (Sandbox Code Playgroud)

但是,在为site2分配新值后,其中一些计数<最大月度计数的5%,而其他计数> 5%.因此我不希望删除site2.

df$Count[df$Site=='site2'] <- ceiling(seq(1, 1000, length.out=20))
Run Code Online (Sandbox Code Playgroud)

如何将数据框子集化以删除计数总是<每月最大计数的5%的任何网站?如果问题不清楚,请告诉我,我会修改.

r subset

5
推荐指数
2
解决办法
296
查看次数

R markdown 中的参考 knitr 块

我正在使用 knitr 在 Markdown (.Rmd) 文件中嵌入 R 代码。我正在使用 Pandoc 将文件转换为 PDF 文件。我的 .Rmd 文件的内容如下所示:

Report
========================================================

This is my report. Some analysis is included in LINK TO CHUNK NAMED MY.ANALYSIS HERE


```{r my.analysis, echo=FALSE}

summary(cars)

```
Run Code Online (Sandbox Code Playgroud)

它在哪里说 LINK TO CHUNK NAMED MY.ANALYSIS HERE,我能否在输出的 PDF 中提供名为 my.analysis 的代码块的链接?

我相信 OP 在这里问了一个类似但略有不同的问题:图形标题、使用 knitr 和降价到 html 的引用

markdown r pandoc knitr

5
推荐指数
1
解决办法
1147
查看次数

在两个向量中查找单词组合

我在两个向量中包含了很长的单词列表

第一个向量看起来像这样:

x <- c("considerably", "much", "far")
Run Code Online (Sandbox Code Playgroud)

第二个向量看起来像这样:

y <- c("higher", "lower")
Run Code Online (Sandbox Code Playgroud)

我需要一个返回的向量,它列出了每个向量的单词的可能组合.使用xy,我需要返回此向量

[1] "considerably higher" "considerably lower"  "much higher"         "much lower"         
[5] "far higher"          "far lower"
Run Code Online (Sandbox Code Playgroud)

因此,向量x中的单词必须位于向量y中的单词之前.有这么快的方法吗?

string r vector

5
推荐指数
1
解决办法
113
查看次数

以编程方式将新变量添加到数据帧

我已经实现了这个混合效果模型:

mtcarsSub <- mtcars[,c("wt", "drat", "cyl")]
library(lme4)
mtcarsME <- lmer(drat ~ (1|cyl) + wt, data=mtcarsSub)
Run Code Online (Sandbox Code Playgroud)

我现在想要从模型中添加预测mtcarsSub.我可以添加这些像这样的新变量:

mtcarsSub$fixed.effect <- predict(mtcarsME)
mtcarsSub$random.effect.cyl4 <- mtcarsMEFixed + ranef(mtcarsME)$cyl["4",]
mtcarsSub$random.effect.cyl6 <- mtcarsMEFixed + ranef(mtcarsME)$cyl["6",]
mtcarsSub$random.effect.cyl8 <- mtcarsMEFixed + ranef(mtcarsME)$cyl["8",]
Run Code Online (Sandbox Code Playgroud)

请注意,当从随机效果添加预测时mtcarsSub,我重复自己3次.如何以编程方式添加随机效果的预测,可能使用函数并且可能在一行中?

r dataframe

5
推荐指数
1
解决办法
739
查看次数

为什么尺度会产生矩阵?

scale似乎是一个有用的函数,但它从数字向量生成矩阵,如下所示:

class(scale(mtcars$drat))
# [1] "matrix"
Run Code Online (Sandbox Code Playgroud)

是否有一个函数可以生成数字向量而不必执行类似的操作as.numeric(scale(x))

r scale

5
推荐指数
1
解决办法
1379
查看次数

停止表与观星者一起消失在页面末尾

我有一个.Rnw文件,如下所示:

\documentclass[a4paper,11pt]{article}
\begin{document}
\title{}
\author{me}
\date{\today}
\maketitle

\section{Header}

<<table_mtcars, results = "asis">>=

stargazer(rbind(mtcars, mtcars, mtcars), summary = F)

@
\FloatBarrier

\end{document}
Run Code Online (Sandbox Code Playgroud)

我可以knitr::knit用来生成.tex文件,然后将其转换为PDF.结果PDF如下所示:

在此输入图像描述

请注意表格如何从第2页的末尾消失,并且不再在第3页重新出现.如何使用观星者将表格继续在PDF的第3页上?

latex r knitr stargazer

5
推荐指数
1
解决办法
2973
查看次数

使用ggmap缓存地图

我正在使用ggmap包绘制地图.要通过互联网下载地图,我可以使用以下代码:

library(ggmap)
get_map(location = c(-1.81, 55.655), zoom = 12, maptype = "hybrid")
Run Code Online (Sandbox Code Playgroud)

有没有办法避免通过互联网下载地图,而是从本地文件夹导入.png文件?或者换句话说,下载地图一次,缓存.png,然后从本地文件夹导入.png?我的连接速度很慢,我不断重新加载相同的基本地图浪费了宝贵的时间.

caching r ggplot2 ggmap

5
推荐指数
2
解决办法
881
查看次数

带有观星者的LaTeX表的简短字幕

在LaTeX中,可以使用以下代码制作一个简短的标题(将出现在图表列表中):

  \caption[Short caption.]{Long caption.}
Run Code Online (Sandbox Code Playgroud)

随着stargazer在RI试过这样:

stargazer(mtcars, summary = FALSE, title="[Short caption]Long caption")
Run Code Online (Sandbox Code Playgroud)

这会为字幕生成此输出:

  \caption{[Short caption]Long caption} 
Run Code Online (Sandbox Code Playgroud)

我怎样才能制作一个简短的标题stargazer

latex r sweave knitr stargazer

5
推荐指数
1
解决办法
1788
查看次数

命名列表时使用粘贴

像这样命名一个列表很好用:

list("mtcars" = mtcars)
Run Code Online (Sandbox Code Playgroud)

但是当我尝试使用时paste,出现错误:

list(paste("mtcars") = mtcars)

Error: unexpected '=' in "list(paste("mtcars") ="
Run Code Online (Sandbox Code Playgroud)

paste命名列表时如何使用?

r list paste

5
推荐指数
1
解决办法
89
查看次数

仅在> 0.001时打印实际P值

考虑这两个t检验的P值

set.seed(1)
x <- c(rnorm(50,1), rnorm(50, 2))
y <- (c(rep("a", 50), rep("b", 50)))

t.test(x ~ y)$p.value

[1] 1.776808e-07

set.seed(2)
x <- c(rnorm(50), rnorm(50))
y <- (c(rep("a", 50), rep("b", 50)))

t.test(x ~ y)$p.value

[1] 0.3922354
Run Code Online (Sandbox Code Playgroud)

第一个P值<0.001,第二个值> 0.001.如果P值恰好<0.001,我可以得到R将P值打印为<0.001.如果P值恰好大于0.001,我可以让R打印出实际的P值吗?因此,第一次t检验"<0.001"的结果应打印为,第二次t检验的结果应打印为0.3922354.

我正在使用knitr我的论文将R代码转换为乳胶.我的规则是只有P值> 0.001才应打印为实际P值.

latex r knitr

4
推荐指数
1
解决办法
521
查看次数

标签 统计

r ×10

knitr ×4

latex ×3

stargazer ×2

caching ×1

dataframe ×1

ggmap ×1

ggplot2 ×1

list ×1

markdown ×1

pandoc ×1

paste ×1

scale ×1

string ×1

subset ×1

sweave ×1

vector ×1