小编Ben*_*amp的帖子

ggplot2中每个图例标签的多行文本

我正在尝试在条形图中处理一个很长的标签(见图片和我用来制作它的代码.我需要将它们分成多行(2行或3行),其他明智的是,整个画面将是广泛的.一些帮助将非常有用.实际上我也怀疑我的代码不是应该如此简洁,但至少它是有效的(但随意改变)

在此输入图像描述

glimpse(df)

Observations: 301
Variables: 3
$ V12n     <int> 1, 4, 4, 1, 3, 1, 1, 1, 1, 1, 1, 1, 3, 1, 1...
$ V12      <fctr> De verwijzer neemt contact op om na te gaa...
$ METING.f <fctr> Meting 0, Meting 0, Meting 0, Meting 0, Me...

p = ggplot(df, aes(x = V12n, fill = V12)) + 
 geom_bar(aes(y = (..count..)/tapply(..count..,..PANEL..,sum)
 [..PANEL..])) + 
 scale_y_continuous(labels = scales::percent) + 
 geom_text(aes(y = ((..count..)/sum(..count..)), 
               label = scales::percent((..count..)/tapply(..count..,..PANEL..,sum)[..PANEL..])), 
               stat = "count", vjust = -0.25) + …
Run Code Online (Sandbox Code Playgroud)

r legend ggplot2

14
推荐指数
1
解决办法
8964
查看次数

在kableExtra()中控制行高

嗨我用这个很棒的桌子kableExtra,但我唯一的问题是行的高度并不总是相等.有没有人知道这方面的补救措施?

我的桌子:

在此输入图像描述

例如,如您所见,项目编号22(第6行)的行具有比其他行更大的高度(间距).

我的代码:

my_column_names = c("Item number", "Item", 
                "Emotion", "Social", 
                "At Home", "Body", "Emotion", 
                "Social 1", "Social 2", 
                "At Home", "Body") 

kable(df1,
      format = "latex", booktabs = TRUE,
      col.names = my_column_names,
      caption = "Factor loadings for the 4 and 5 Factor Model") %>%
      kable_styling(latex_options = c("striped", "hold_position"),
                    full_width = FALSE) %>% 
      add_header_above(c(" " = 2, 
                 "4 Factor Model " = 4, "5 Factor model" = 5)) %>%
      add_header_above(c(" " = 2, 
                 "Model" = 9)) %>%
      kableExtra::landscape()
Run Code Online (Sandbox Code Playgroud)

latex r r-markdown kableextra kable

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

在R-Markdown中使用knitr和kableExtra的表格单元格中的胶乳公式或符号,

感谢jaySf,我能够创建一个包含漂亮表格的pdf文件,其中的脚注显示了R Markdown,Latex knitrkableExtra(在他的示例下方)公式和符号:

---
title: "Untitled"
output: pdf_document
---

```{r tab}
library(knitr)
library(kableExtra)
df <- data.frame(v1=rnorm(6), v2=runif(6), v3=rbinom(6, 1, .33), 
             row.names=LETTERS[1:6])
kable(df, "latex", align="c", booktabs=TRUE) %>%
footnote(general=c("$a^2+b^2=c^2,$",     
                   "$\\\\sigma^2=\\\\frac{1}{n-1}\\\\sum_{i=1}^n(x_i-\\\\bar{x})^2;$", 
                   "1,000 \\\\$;", "100\\\\%."),
         number=c("Hello\ there! \\\\textit{Hello\ there!}"),
         footnote_as_chunk=TRUE, 
         escape=FALSE)
```
Run Code Online (Sandbox Code Playgroud)

这导致:

在此输入图像描述

现在我正在努力将符号或公式放在表格的一个实际单元格中.有人可以做一个例子,在一个单元格中显示常规文本,符号公式吗?表格标题中最好也是相同的,其中一个列名称一个一个表格的行名称以及一些编号的脚注引用其中一个单元格或标题或col或行名称中的信息,我很想死拥有一切的例子!非常感谢.

latex symbols r tabular r-markdown

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

如何将变量“labelled”的类更改为R中的字符串或字符?

如何将“labelled”类的变量更改为字符变量,仅将标签显示为字符串或字符?所以我只想查看最后一个属性,请参阅下面的变量结构。

Class 'labelled'  atomic [1:918] 4 12 13 20 26 36 40 1 4 13 ...
..- attr(*, "format.spss")= chr "F8.0"
..- attr(*, "labels")= Named num [1:40] 1 2 3 4 5 6 7 8 9 10 ...
.. ..- attr(*, "names")= chr [1:40] "People management" "HR" "Self management" "Email" ...
Run Code Online (Sandbox Code Playgroud)

label functional-programming r char

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

根据ggplot2中类别的比例调整(堆叠)条形宽度

我正在尝试根据类别的计数(或比例)更改我的(堆叠)条形宽度,作为示例,我使用了钻石数据集。我想根据每个类别(变量cut)的频率看到不同的宽度。我首先创建了一个变量cut_prop,然后用以下代码绘制

library(tidyverse)

cut_prop = diamonds %>% 
  group_by(cut) %>% 
  summarise(cut_prop = n()/nrow(diamonds))

diamonds = left_join(diamonds, cut_prop)

ggplot(data = diamonds, 
       aes(x = cut, fill = color)) + 
  geom_bar(aes(width=cut_prop), position = "fill") + 
  theme_minimal() +
  coord_flip()
Run Code Online (Sandbox Code Playgroud)

这给了我以下条形图:

在此输入图像描述

R 给出了一个警告,告诉我们:Ignoring unknown aesthetics: width并且显然没有考虑条形宽度的类别比例,任何人都可以在这里帮助我吗?谢谢!

r width bar-chart ggplot2

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

R,在单个(水平)数字线上用标签绘制点

出于教育目的,我试图用R中带有标签的一些数据点绘制单行水平“数字线”。

library(plotrix)
source("spread.labels.R")
plot(0:100,axes=FALSE,type="n",xlab="",ylab="")
axis(1,pos=0) 
spread.labels(c(5,5,50,60,70,90),rep(0,6),ony=FALSE, 
labels=c("5","5","50","60","70","90"), 
offsets=rep(20,6))
Run Code Online (Sandbox Code Playgroud)

这给了我一条数字线,其中的细线指向数据点应该位于数字线上的标签(有点“插入”),但没有点本身。任何人都可以给我其他或替代的R代码来解决这些问题:-仍未绘制的数据点本身未作图;-标签可能未在整个数字线上平均分配;-行进入了标签,而不仅指向标签

非常感谢,

本杰明·泰尔坎普(Benjamin Telkamp)

plot r

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

如何转换荷兰字符串日期?

我正在尝试将带有荷兰日期的字符串变量转换为日期变量原始变量的一些示例值(date.string):"18 sep.2016","29 mei 2014","7 mrt.2016"我试过:

df$date <- as.Date(df$dta.string, format = "%d %h %Y", locale = "dutch")
Run Code Online (Sandbox Code Playgroud)

显然我犯了一个错误,因为我只在我的新专栏中得到NA,有人提出任何建议吗?

r date

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

整洁的文本格式内的单词替换

嗨,我正在使用tidy_text格式,我试图将字符串"电子邮件"和"电子邮件"替换为"电子邮件".

set.seed(123)
terms <- c("emails are nice", "emailing is fun", "computer freaks", "broken modem")
df <- data.frame(sentence = sample(terms, 100, replace = TRUE))
df
str(df)
df$sentence <- as.character(df$sentence)
tidy_df <- df %>% 
unnest_tokens(word, sentence)

tidy_df %>% 
count(word, sort = TRUE) %>% 
filter( n > 20) %>% 
mutate(word = reorder(word, n)) %>% 
ggplot(aes(word, n)) +
geom_col() +
xlab(NULL) + 
coord_flip()
Run Code Online (Sandbox Code Playgroud)

这工作正常,但当我使用:

 tidy_df <- gsub("emailing", "email", tidy_df)
Run Code Online (Sandbox Code Playgroud)

替换单词并再次运行条形图我收到以下错误消息:

UseMethod("group_by_")中的错误:没有适用于"group_by_"的方法应用于类"character"的对象

有没有人知道如何在不改变tidy_text的结构/类的情况下,在整洁的文本格式中轻松替换单词?

r text-mining tidytext

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

使用 knitr 和 kableExtra 的脚注中的公式或符号

有谁知道如何在表格的脚注的句子中以斜体形式放置公式、(奇怪的)字符或单词?

我正在使用 Rmarkdown 和 kableExtra 创建一个 pdf 文件。但是像$Y_{t-1}$or $p < .001$(因为我想要p斜体)之类的东西不起作用。还是我真的应该学习xtable?

latex symbols r tabular r-markdown

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

将col名称和标题(上图)设置为具有knitr,kableExtra和Latex in R markdown的表格的奇怪字符

我正在尝试基于钻石数据集在Rmarkdown(for pdf)中创建一个表格,我想在列名称上面更改一些列名称和标题,我想知道如何设置一些斜体或粗体的标题并且一些标题应该是符号(如部分eta平方的符号)或完整的公式.我已将我的R代码(我已经安装了Latex)与表格作为图片(尚未调整).

```{r setup, include=FALSE}

setwd("~/Desktop/Tables") 
knitr::opts_chunk$set(echo = FALSE)
# global options
options(knitr.table.format = "latex") 
# show space instead of NA in tables
options(knitr.kable.NA = '')
library(tidyverse)
library(knitr)
library(kableExtra)
df = diamonds

```

```{r message=FALSE, warning=FALSE}

df_table = df %>% 
  summarise(avg = round(mean(price), 2),
            sd = round(sd(price), 2),
            n = n(),
            range = round(max(price), 2)) %>% 
  mutate(grouping = "Total") %>% 
  select(grouping, avg, sd, n, range) %>% 
  bind_rows(df %>% 
              group_by(cut) %>% 
              summarise(avg = round(mean(price), 2),
              sd = round(sd(price), 2),
              n = …
Run Code Online (Sandbox Code Playgroud)

r tabular knitr r-markdown kableextra

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