我正在尝试在条形图中处理一个很长的标签(见图片和我用来制作它的代码.我需要将它们分成多行(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) 嗨我用这个很棒的桌子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) 感谢jaySf,我能够创建一个包含漂亮表格的pdf文件,其中的脚注显示了R Markdown,Latex knitr
和kableExtra
(在他的示例下方)公式和符号:
---
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或行名称中的信息,我很想死拥有一切的例子!非常感谢.
如何将“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) 我正在尝试根据类别的计数(或比例)更改我的(堆叠)条形宽度,作为示例,我使用了钻石数据集。我想根据每个类别(变量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中带有标签的一些数据点绘制单行水平“数字线”。
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)
我正在尝试将带有荷兰日期的字符串变量转换为日期变量原始变量的一些示例值(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,有人提出任何建议吗?
嗨,我正在使用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的结构/类的情况下,在整洁的文本格式中轻松替换单词?
有谁知道如何在表格的脚注的句子中以斜体形式放置公式、(奇怪的)字符或单词?
我正在使用 Rmarkdown 和 kableExtra 创建一个 pdf 文件。但是像$Y_{t-1}$
or $p < .001$
(因为我想要p
斜体)之类的东西不起作用。还是我真的应该学习xtable?
我正在尝试基于钻石数据集在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)