小编jay*_*.sf的帖子

在循环中创建 RMarkdown 块

我希望能够在循环中创建 RMarkdown 块。我尝试通过for循环来完成此操作,但没有取得太大成功。我想这可能可以通过 实现,就像在闪亮的应用程序中lapply进行创建一样。UIs然而,到目前为止我还没有取得任何成功。

代表:

---
title: "Untitled"
output:
  html_document:
    theme: united
    highlight: tango
    toc: true
    toc_float:
      collapsed: false
      smooth_scroll: false
---

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

```{r}
library(dplyr)
library(ggplot2)

df <- datasets::iris %>% 
  dplyr::as_tibble()
```

## setosa

```{r}
df %>% 
  dplyr::filter(Species == "setosa") %>% 
  ggplot2::ggplot(ggplot2::aes(Sepal.Length, Petal.Length)) + 
  ggplot2::geom_point()
```

## versicolor

```{r}
df %>% 
  dplyr::filter(Species == "versicolor") %>% 
  ggplot2::ggplot(ggplot2::aes(Sepal.Length, Petal.Length)) + 
  ggplot2::geom_point()
```

## virginica …
Run Code Online (Sandbox Code Playgroud)

loops r r-markdown

8
推荐指数
1
解决办法
1393
查看次数

如何总结组合列表

我有一个包含 2 个元素组合的列表,如下所示。

cbnl <- list(
  c("A", "B"), c("B", "A"), c("C", "D"), c("E", "D"), c("F", "G"), c("H", "I"),
  c("J", "K"), c("I", "H"), c("K", "J"), c("G", "F"), c("D", "C"), c("E", "C"),
  c("D", "E"), c("C", "E")
)
Run Code Online (Sandbox Code Playgroud)

我想总结一下上面的列表。预期结果如下表所示。向量中元素的顺序在这里并不重要。

[[1]]
[1] "A" "B"

[[2]]
[1] "C" "D" "E"

[[3]]
[1] "F" "G"

[[4]]
[1] "H" "I"

[[5]]
[1] "J" "K"
Run Code Online (Sandbox Code Playgroud)

(规则1){A,B}等价于{B,A}。为了对应这一点,我想我可以做到这一点。

cbnl <- unique(lapply(cbnl, function(i) { sort(i) }))
Run Code Online (Sandbox Code Playgroud)

(规则2){A,B},{B,C}(其中一个元素是公共的)然后取两个集合的并集。结果是{A,B,C}。我没有明确的好主意来做到这一点。

有什么有效的方法可以做到这一点吗?

r cluster-analysis list

8
推荐指数
3
解决办法
325
查看次数

全新安装中的 R 警告/错误

我刚刚在我的 mac (macOS 13.1) 上重新安装了 R 4.2.2。它没有出现任何故障,但是当我打开 R 终端时,我收到很多警告?或错误?红色的。我该如何修复它?(坦白说,我开始在以前版本的 R 中收到这些消息,所以这就是我重新安装它的原因。)

1   HIToolbox                           0x00007ff8224306f6 _ZN15MenuBarInstance22EnsureAutoShowObserverEv + 102
2   HIToolbox                           0x00007ff822430288 _ZN15MenuBarInstance14EnableAutoShowEv + 52
3   HIToolbox                           0x00007ff8223d4848 SetMenuBarObscured + 408
4   HIToolbox                           0x00007ff8223d440a _ZN13HIApplication15HandleActivatedEP14OpaqueEventRefhP15OpaqueWindowPtrh + 164
5   HIToolbox                           0x00007ff8223ce8d6 _ZN13HIApplication13EventObserverEjP14OpaqueEventRefPv + 252
6   HIToolbox                           0x00007ff822396af2 _NotifyEventLoopObservers + 153
7   HIToolbox                           0x00007ff8223ce326 AcquireEventFromQueue + 494
8   HIToolbox                           0x00007ff8223bd32c ReceiveNextEventCommon + 285
9   HIToolbox                           0x00007ff8223bd1f3 _BlockUntilNextEventMatchingListInModeWithFilter + 70
10  AppKit                              0x00007ff81bbc2f63 _DPSNextEvent + 909
11  AppKit                              0x00007ff81bbc1de4 -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 1219
12  R …
Run Code Online (Sandbox Code Playgroud)

macos installation r

8
推荐指数
1
解决办法
910
查看次数

ggplot 中的自定义形状(geom_point)

目的

我正在尝试将 的形状更改geom_point为十字架(因此不是“加/加”符号,而是“死亡”十字架)。

试图

假设我有以下数据:

library(tidyverse)

df <- read.table(text="x y
                 1    3 
                 2    4 
                 3    6 
                 4    7 ", header=TRUE) 
Run Code Online (Sandbox Code Playgroud)

我可以使用shape参数 in将形状更改geom_point为不同的形状,如下所示:

ggplot(data = df, aes(x =x, y=y)) +  
   geom_point(shape=2)   # change shape
Run Code Online (Sandbox Code Playgroud)

但是,没有将形状更改为十字的选项。

如何使用 R 中的 ggplot 将值的形状更改为十字形?

r ggplot2

7
推荐指数
1
解决办法
3359
查看次数

Faster matrix multiplication by replacing a double loop

I have a dataframe which looks a bit as produced by the following code (but much larger)

set.seed(10)    
mat <- matrix(rbinom(200, size=1, prob = .5), ncol = 10)
Run Code Online (Sandbox Code Playgroud)

In the columns are issues and 1 indicates that an observation is interested in a specific issue. I want to generate a network comparing all observations and have a count of issues that each dyad is jointly interested in.

I have produced the following code, which seems to be working fine:

mat2 …
Run Code Online (Sandbox Code Playgroud)

loops r matrix-multiplication

7
推荐指数
2
解决办法
72
查看次数

R 条件中的变异

我有一个df包含列payment_type和的数据框payment_amount

我想做一个条件变异,如果payment_type是“tpt”或“trt”,它应该进行payment_amount5 次。

df$payment_amount<-df%>%select(payment_amount)%>%filter(payment_type=='tpt' | payment_type=='trt')%>%mutate(payment_amount=payment_amount*100)
Run Code Online (Sandbox Code Playgroud)

但这不起作用。TIA

r dplyr

7
推荐指数
1
解决办法
1456
查看次数

有没有办法在执行 read.table 时限制 seps 的数量?

我有一段文本数据想要预处理,该数据的形式为:

[num|num|<String>]
Run Code Online (Sandbox Code Playgroud)

"|"但是, <String> 中有空格、逗号和。因此,不可能使用 来分离数据"|"。检索数据时如何实现分区数或读取行数的限制?我尝试使用flush = TRUE,但无法使用它,因为它删除了 <String> 的某些部分。

r

7
推荐指数
1
解决办法
164
查看次数

如何在 R Notebook 中获取控制台输出并并排绘图?

在 R Notebook 中,有一个函数可以在控制台中绘制许多图并打印摘要统计数据。我想在 HTML 输出上并排获得绘图和控制台输出(即摘要统计数据)。

这是一个非常简单的例子:

---
title: "Example"
output: html_notebook
---


```{r}
mapply(FUN = function(.x) {
  plot(.x)
  summary(.x)
}, split(iris, iris$Species), SIMPLIFY = FALSE)
```
Run Code Online (Sandbox Code Playgroud)

上述代码的输出如下所示:

在此输入图像描述

正如您所看到的,绘图是一个接一个的,控制台输出位于中间的某个位置。

预期输出如下:

在此输入图像描述

我浏览了这些SO主题但没有成功:

请注意,我真的想获取控制台输出,如果可能的话,我想避免使用许多转换来获取 grob 或图片,因为有时,我的实际输出的相关方法不存在。不使用 R Notebook 而是使用 RMarkdown 也可以。

layout plot r r-markdown rnotebook

7
推荐指数
1
解决办法
1511
查看次数

使用可变样本大小从数据帧中随机采样

我有一个lexicon包含 650 个单词的数据框 ,我想通过从 中随机选择单词来为 5 个发言者创建一系列随机单词列表lexicon。我希望通过 24 个月的数据收集来完成此任务,每个月都会采集不同大小的词汇样本。指定月份和词汇量大小的基本数据框是df1

df1 <- data.frame(months=rep(1:24, times=5, each=1),
                  vocab_size=(sample(c(0:25), 120, replace=TRUE)),
                  Speaker=rep(c("A", "B", "C", "D", "E"), times=1, each=24))

list1 <- split(df1, f=df1$Speaker)
Run Code Online (Sandbox Code Playgroud)

lexicon看起来像这样:

lexicon <- data.frame(c("a", "about", "above", "ain't", "all", "am", "an", "and",  
                        "animal",  "ankle", "ant" ,"any", "apple","applesauce", 
                        "asleep", "at",  "ate",  "aunt", "auntie",  "aunty's", 
                        "awake", "away", "baa", "baby" , "baby+doll", "bad" ,
                        "ball", "balloon", "banana", "basket", "bat", "bath", 
                        "bathing", "bathtub", "be", "beach", "bead", "bean",
                        "because", "bed", "beddy", …
Run Code Online (Sandbox Code Playgroud)

r

7
推荐指数
3
解决办法
513
查看次数

如何在十进制和十六进制之间转换?

我在 R 中运行下面的代码,它不返回原始十进制数。

as.hexmode(-8192)
"ffffe000"

strtoi(c("ffffe000"))
NA
Run Code Online (Sandbox Code Playgroud)

hex r decimal

6
推荐指数
1
解决办法
5509
查看次数