我希望能够在循环中创建 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) 我有一个包含 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}。我没有明确的好主意来做到这一点。
有什么有效的方法可以做到这一点吗?
我刚刚在我的 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) 目的
我正在尝试将 的形状更改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 将值的形状更改为十字形?
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) 我有一个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
我有一段文本数据想要预处理,该数据的形式为:
[num|num|<String>]
Run Code Online (Sandbox Code Playgroud)
"|"但是, <String> 中有空格、逗号和。因此,不可能使用 来分离数据"|"。检索数据时如何实现分区数或读取行数的限制?我尝试使用flush = TRUE,但无法使用它,因为它删除了 <String> 的某些部分。
在 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 也可以。
我有一个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 中运行下面的代码,它不返回原始十进制数。
as.hexmode(-8192)
"ffffe000"
strtoi(c("ffffe000"))
NA
Run Code Online (Sandbox Code Playgroud)