小编Nic*_*ick的帖子

在dplyr中转换多个列

我有一个问题:如何transmute在不用手写每列的情况下使用每列?即,有类似的东西transmute_each()吗?

我想要执行以下操作:使用dplyr我想获得MWE的每列的z分数:

tickers <- c(rep(1,10),rep(2,10))
df <- data.frame(cbind(tickers,rep(1:20),rep(2:21),rep(2:21),rep(4:23),rep(3:22)))
colnames(df) <- c("tickers","col1","col2","col3","col4","col5")
df %>%  group_by(tickers)
Run Code Online (Sandbox Code Playgroud)

有没有一种简单的方法可以使用transmute来实现以下目的:

for(i in 2:ncol(df)){
  df[,i] <- df[,i] - mean(df[,i])/sd(df[,i])
}
Run Code Online (Sandbox Code Playgroud)

非常感谢

r dplyr

6
推荐指数
2
解决办法
4488
查看次数

Rmarkdown删除了引文超链接

当使用Rmarkdown构建包含引文的pdf时,默认情况下会删除引文的超链接.

看看产生的乳胶文件,我可以在pre-amble中看到\ usepackage {hyperref},但引用如下:

rmd input:    @sharpe
latex output:  sharpe (1999)
Run Code Online (Sandbox Code Playgroud)

因此,它以pdf格式生成非动态引文.

我期望的乳胶输出是:\ citet {sharpe},它以pdf格式生成超链接引文.

任何想法为什么它写出我的bibtex输入这样以及如何使其超链接?

latex r citations r-markdown

6
推荐指数
2
解决办法
1401
查看次数

R Markdown 中的 Latex 序言

我已经阅读了几个讨论和线程,详细说明了如何将乳胶前导码添加到 R 降价,但我还没有找到关于如何将乳胶前导码添加到 Rmd 文件的简单解释。我有乳胶模板,我想在我的 Rmd 的 PDF 和 Beamer 输出中使用。

我在添加序言参数时遇到了很大的困难。

我试过:

in_header
<latex preamble>
Run Code Online (Sandbox Code Playgroud)

%%
<preamble>
%%
Run Code Online (Sandbox Code Playgroud)

但似乎没有一个工作。

对有乳胶经验的人有什么解决方案,但使用 rmd 少得多?

latex r r-markdown

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

ggplotly从ggplot中删除了图例

ggplotly使用ggplot删除geom_line图的图例.

见下图:

library(plotly)    
g <- ggplot(iris)
g = g + geom_line(aes(x = Sepal.Length, y = Sepal.Width, color = Species), size = 0.05)
g # Here is a legend
(gg <- ggplotly(g)) # Legend has now been removed.
Run Code Online (Sandbox Code Playgroud)

任何想法如何取回传奇?

我使用的是plotly_2.0.19和ggplot2_2.0.0.9000.

r ggplot2 plotly

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

相当于 purrr::map_df 中的 next

我正在寻找purrr::map_df 调用的循环中的next的等效项。

map_df 可以很好地处理 NULL 的数据帧(如下例所示),因此当我Result <- NULL在下面的示例中设置时它可以工作。

任何人都可以为我下面的插图提出一个通用的解决方案,不需要我设置Result <- NULL,而是立即进入“下一步”。

library(tidyverse)
set.seed(1000)

df <- data.frame(x = rnorm(100), y = rnorm(100), z = rep(LETTERS, 100))

Map_Func <- function(df) {

  Sum_Num <- suppressWarnings(sqrt(sum(df$y)))

  if( Sum_Num == "NaN" ) {

    Result <- NULL
    # I would like to have an equivalent to "next" here... 

    } else {

  Result <- df %>% filter(y == max(y)) %>% mutate(Result = x*y)

}

Result

}

Test <- split(df, df$z) %>% map_df(~Map_Func(.)) …
Run Code Online (Sandbox Code Playgroud)

r purrr tidyverse

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

从每个元素dplyr中减去均值

我想用dplyr贬低我的所有列.我试过但是使用"do()"命令失败了.

我基本上想使用更简单的dplyr命令复制以下内容:

tickers <- c(rep(1,10),rep(2,10))
df <- data.frame(cbind(tickers,rep(1:20),rep(2:21)))
colnames(df) <- c("tickers","col1","col2")
df %>%  group_by(tickers)
apply(df[,2:3],2,function(x) x - mean(x))
Run Code Online (Sandbox Code Playgroud)

我相信使用dplyr可以做得更好.

谢谢!

r scale dplyr

3
推荐指数
1
解决办法
1439
查看次数

检查等长列表中的元素长度

检查列表中的元素长度是否相等?

例如:

l <- list(c(1:3),c(2:7),c(12:13))

[[1]]
[1] 1 2 3

[[2]]
[1] 2 3 4 5 6 7

[[3]]
[1] 12 13
Run Code Online (Sandbox Code Playgroud)

我有一个包含许多条目的长列表,并想要一种方法来检查每个元素是否具有相同的长度.

由于长度不同(3,6,2),因此应返回FALSE.

r list

3
推荐指数
2
解决办法
621
查看次数

使用Shiny Rmarkdown中的操作按钮进行绘图

我很好奇以下原因为何不起作用。尝试使用对动作按钮的反应进行绘图时,它无法在Shiny中显示绘图。

知道我在做什么错吗?我尝试了许多迭代和方法。有什么想法可以让Shiny在反应性环境中调用时可以生成图吗?

---
title: "Will not plot"

output: html_document

runtime: shiny

---


```{r setup, include=FALSE}
 knitr::opts_chunk$set(echo = TRUE)
```

```{r, echo = FALSE}

 inputPanel(
  actionButton("Plot", "Save and Open TRI"),
  numericInput("Size", label = "Size", value = 1000, 1000, 5000, 1000)
              )
# Works:
renderPlot({
plot(runif(1000)
     )})

# Doesn't work:
eventReactive(input$Plot,
{
  renderPlot({
plot(runif(1000)
 )})
}
)

observeEvent(input$Plot,
{
  renderPlot({
    plot(runif(1000)
     )})
}
)

```
Run Code Online (Sandbox Code Playgroud)

r shiny

3
推荐指数
1
解决办法
2714
查看次数

在 dplyr 中使用 funs 的相关性

我想使用 dplyr 找到 data.frame 中各个列的等级相关性。

我确信这个问题有一个简单的解决方案,但我认为问题在于我在使用 cor 函数时无法在 dplyr 中的 summarise_each_ 中使用两个输入。

对于以下 df:

df <- data.frame(Universe=c(rep("A",5),rep("B",5)),AA.x=rnorm(10),BB.x=rnorm(10),CC.x=rnorm(10),AA.y=rnorm(10),BB.y=rnorm(10),CC.y=rnorm(10))
Run Code Online (Sandbox Code Playgroud)

我想获得所有 .x 和 .y 组合之间的等级相关性。我在下面的函数中遇到了问题????

cor <- df %>% group_by(Universe) %>% 
summarize_each_(funs(cor(.,method = 'spearman',use = "pairwise.complete.obs")),????)
Run Code Online (Sandbox Code Playgroud)

我希望cor只包含相关对: AA.x.AA.y , AA.x,BB.y, ... 对于每个宇宙。

请帮忙!

r dplyr

2
推荐指数
1
解决办法
4962
查看次数

使用Rcpp无法更快地获取all()

由于我对Rcpp有点陌生,因此我可能在这里错过了一个窍门。

让我们创建两个矩阵:

library(Rcpp)
library(microbenchmark)

P <- matrix(0, 200,500)
for(i in 1:500) P[,i] <- rep(rep(sample(0:1), 2), 25)
Parent_Check <- matrix(0, nrow(P), nrow(P))

Run Code Online (Sandbox Code Playgroud)

我现在要完成以下操作:

Test1 <- function(){
  for (i in 1:nrow(P)) {
    Parent_Check[i,] <- apply(P, 1, function(x) all(x == P[i,]))
  }

}
Test1()
Run Code Online (Sandbox Code Playgroud)

然后,我为all()创建了一个Rcpp版本,希望提高速度,定义为:

Rcpp::cppFunction(

'bool all_C(LogicalVector x) {
  // Note the use of is_true to return a bool type.
  return is_true(all(x == TRUE));
 }
'  
)
Run Code Online (Sandbox Code Playgroud)

使用all_C检查速度,事实证明速度较慢:

Test2 <- function(){
  for (i in 1:nrow(P)) {
    Parent_Check[i,] <- apply(P, 1, function(x) all_C(x …
Run Code Online (Sandbox Code Playgroud)

r rcpp rcppparallel rcpparmadillo

2
推荐指数
1
解决办法
67
查看次数

带矢量输入的Dplyr条件列ifelse

我正在尝试使用dplyr的新NSE语言方法来创建条件变异,使用矢量输入.我遇到麻烦的地方是将列设置为等于它自己,请参见下面的mwe:

df <- data.frame("Name" = c(rep("A", 3), rep("B", 3), rep("C", 4)), 
                 "X" = runif(1:10), 
                 "Y" = runif(1:10)) %>% 
    tbl_df() %>% 
    mutate_if(is.factor, as.character)

ColToChange <- "Name"
ToChangeTo <- "Big"
Run Code Online (Sandbox Code Playgroud)

现在,使用以下内容:

df %>% mutate( !!ColToChange := ifelse(X >= 0.5 & Y >= 0.5, ToChangeTo, !!ColToChange))
Run Code Online (Sandbox Code Playgroud)

ColToChange值设置为Name,而不是回到其原始值.我因此尝试使用上面的语法来实现这一点:

df %>% mutate( !!ColToChange := ifelse(X >= 0.5 & Y >= 0.5, ToChangeTo, Name))
Run Code Online (Sandbox Code Playgroud)

但不是Name,它是矢量.

r dplyr nse rlang

0
推荐指数
1
解决办法
387
查看次数

标签 统计

r ×11

dplyr ×4

latex ×2

r-markdown ×2

citations ×1

ggplot2 ×1

list ×1

nse ×1

plotly ×1

purrr ×1

rcpp ×1

rcpparmadillo ×1

rcppparallel ×1

rlang ×1

scale ×1

shiny ×1

tidyverse ×1