我想在ggplot2中创建一个显示议会席位大小的图表,如下图所示.我的主要问题是,如何将圆环图转换为半圆形图(半圆弧)?
以上图为例,我不知道从哪里开始:
df <- data.frame(Party = c("GUE/NGL", "S&D", "Greens/EFA", "ALDE", "EPP", "ECR", "EFD", "NA"),
Number = c(35, 184, 55, 84, 265, 54, 32, 27))
df$Party <- factor(df$Party)
df$Share <- df$Number / sum(df$Number)
df$ymax <- cumsum(df$Share)
df$ymin <- c(0, head(df$ymax, n= -1))
ggplot(df, aes(fill = Party, ymax = ymax, ymin = ymin, xmax = 2, xmin = 1)) + geom_rect() +
coord_polar(theta = "y") + xlim(c(0, 2))
Run Code Online (Sandbox Code Playgroud)
我在 R 中创建了一个类,并尝试为该类创建一个打印函数。我希望打印函数打印传递给打印函数的对象的名称。使用标准deparse(substitute())我可以获取变量的名称,这在我print()直接调用函数时有效。但当我只是从 R Studio 运行变量时它不起作用。它显然正在调用我的打印函数。但有一些间接导致它丢失变量名称。这是一个例子:
# Define class 'myobj'
myobj <- function(val) {
obj <- structure(list(), class = c("myobj", "list"))
obj$value = val
return(obj)
}
# Write custom print function for 'myobj' class
#' @export
print.myobj <- function(x, ...) {
nm <- deparse1(substitute(x, env = environment()))
cat(paste0("My object name: ", nm, "\n"))
cat(paste0("My object value: ", x$value, "\n"))
invisible(x)
}
myInstance <- myobj(123)
# Prints name and value.
print(myInstance)
#> My object name: myInstance
#> …Run Code Online (Sandbox Code Playgroud) 我有人口统计数据,对于一些变量,我想显示平均值 (95% CI) 到目前为止:
> label (demog$Site) = "Site"
> label (demog$Sex) = "Sex"
> label (demog$Age) = "Age (years)"
> label (demog$Temperature) = "Temperature (Celcius)"
> label (demog$MOI) = "MOI"
>
> table1(~Sex + Age + Temperature + MOI | Site, data = demog)
Run Code Online (Sandbox Code Playgroud)
这给了我所有按采样点分层的变量,这就是我想要的。但它报告了每个连续变量的平均值(SD)、中位数[最小、最大]和缺失(除了“性别”之外的所有变量),这是我不想要的。
为了改变显示的内容,我尝试模仿: https: //benjaminrich.github.io/table1/vignettes/table1-examples.html
我做了:
> my.render.cont = function(x) {with(stats.apply.rounding(stats.default(x), digits=2), c("", "Mean (95% CI)"=sprintf("%s (± %s)", MEAN, (MEAN + SD*1.96), (MEAN - SD*1.96))))}
> my.render.cat = function(x) {c("", sapply(stats.default(x), function(y) with(y, sprintf("%d (%0.0f %%)", …Run Code Online (Sandbox Code Playgroud) 我想计算 R 中 logit 模型的某些参数的置信区间。我已阅读confint和confint.default的文档,但我无法理解有关何时适合应用每个函数的信息。有人可以向我解释一下吗?
我正在尝试 Rmd 笔记本,我被困在一些看起来应该可行的事情上,但我根本找不到解决方案。
基本上,我想要一种功能性的方法来运行选定的 Rmd 块,而无需使用 knit 进行编译。所以我认为使用依赖块、缓存等在这里不起作用。
这是一个示例笔记本:
示例_笔记本.Rmd
---
title: "Example_Notebook"
output: html_notebook
---
```{r Chunk_1 , include=T}
print(1+2)
Var1 <- 'Variable From Chunk 1'
```
```{r Chunk_2 , include=T}
Var2 <- 'Variable From Chunk 2'
```
```{r Chunk_3 , include=T}
print(Var1)
Var3 <- 'Variable From Chunk 3'
print(Var3)
```
Run Code Online (Sandbox Code Playgroud)
假设我想运行 Chunk 1 和 Chunk 3。要手动执行此操作,我可以在光标位于 Chunk_1 时使用 Ctrl+Shift+Enter,然后在光标位于 Chunk_3 时再次使用 Ctrl+Shift+Enter。这将跳过 Chunk_2,同时仍然获得 1 和 3 的输出。
我正在寻找一种方法来在单个命令/函数中执行此操作。这与 RStudio 中的“运行上面的所有块”按钮类似,但显然我想跳过 Chunk_2。
我尝试了很多方法将其写在函数中。我得到的最接近的是使用 rstudioapi 包。这是我的函数的样子:
MyNewFunction <- function(){
rstudioapi::navigateToFile( …Run Code Online (Sandbox Code Playgroud) 我正在尝试创建一个华夫饼图,其中共有 9 个图。然而,无论我如何尝试,我都无法减少图中 3 列之间的间距。这就是我现在的情节。 华夫饼情节足球
到目前为止我使用的代码是这样的:-
fig1 <- waffle(Intvec, rows=10, size=2.0,
colors=c("#cb181d", "#238b45", "#0570b0",
"#fec44f", "#ec7014", "#6a51a3"),
title = "Inter")
fig1$layers[[1]]$aes_params$colour <- '#252525'
fin1 <- fig1 + theme(plot.background = element_rect(fill = "#252525", colour = "#252525")) +
theme(legend.position = "none") +
labs(y = "Serie A", main = "Inter") +
theme(axis.title.y = element_text(color="#bdbdbd", size=18, face="bold"),
plot.title = element_text(colour = "#ffffff", size = 20, face = "bold"))
fin1
Run Code Online (Sandbox Code Playgroud)
在使用 ggarrange 之前对其他 8 个地块执行相同的操作
fig <- ggarrange(fin1, fin2, fin3, fin4, fin5,
fin6, fin7, …Run Code Online (Sandbox Code Playgroud) 我正在尝试从 R studio 连接到 Microsoft SQL Server 数据库。
我使用自制程序安装了 unixODBC 驱动程序管理器:
brew install unixodbc
Run Code Online (Sandbox Code Playgroud)
然后我尝试按照https://db.rstudio.com/best-practices/drivers/上的建议安装 freetds 驱动程序
# SQL Server ODBC Drivers (Free TDS)
brew install freetds --with-unixodbc
Run Code Online (Sandbox Code Playgroud)
我收到错误:
Error: invalid option: --with-unixodbc
Run Code Online (Sandbox Code Playgroud)
我发现一个消息来源说该选项不再可用,因为它现在是默认选项。因此,我跑了:
brew install freetds
Run Code Online (Sandbox Code Playgroud)
然后,在 R Studio(和 R)中,我尝试列出已安装的驱动程序,但未找到:
> odbc::odbcListDrivers()
[1] name attribute value
<0 rows> (or 0-length row.names)
Run Code Online (Sandbox Code Playgroud)
接下来,我尝试根据https://learn.microsoft.com/en-us/sql/connect/odbc/linux-mac/install-microsoft-odbc-driver-sql安装适用于 SQL Server (macOS) 的 Microsoft ODBC 驱动程序-server-macos?view=sql-server-ver15并按照https://db.rstudio.com/databases/microsoft-sql-server/上的建议
我跑:
brew tap microsoft/mssql-release https://github.com/Microsoft/homebrew-mssql-release
brew update
HOMEBREW_NO_ENV_FILTERING=1 ACCEPT_EULA=Y brew install msodbcsql17 mssql-tools
Run Code Online (Sandbox Code Playgroud)
为了检查该驱动程序是否已在 odbcinst.ini 文件中注册,我首先运行: …
注意:这是这个问题的后续。
首先是重现数据的代码:
mydf <- data.frame(year = c(rep(2000, 3), rep(2002, 3), rep(2004, 3), rep(2006, 3), rep(2008, 3), rep(2010, 3), rep(2012, 3), rep(2014, 3), rep(2016, 3)),
answer = rep(c("A great deal", "Hardly any", "Only some"), 9),
result = c(0.3015940, 0.1399303, 0.5584757, 0.2269548, 0.1792754, 0.5937698, 0.2955301, 0.1309859, 0.5734840, 0.3008197, 0.1344499,
0.5647303, 0.1919454, 0.2026290, 0.6054256, 0.1059793, 0.4190533, 0.4749674, 0.1190636, 0.3631279, 0.5178085, 0.1518314,
0.3181203, 0.5300483, 0.1424715, 0.3094615, 0.5480669))
mydf$year <- factor(mydf$year)
mydf$answer <- factor(mydf$answer)
triangles <- data.frame(year = c(2002, 2004, rep(2008, 2), rep(2010, 3), …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用此处找到的说明从我们的 SharePoint 中提取数据(StackOverflow 问题)。这是我正在使用的代码:
library(readxl)
read_excel('//MyCompany.sharepoint.com/teams/MyProject/Shared Documents/MyExcelFile.xlsx',
'Sheet1',
skip=1)
Run Code Online (Sandbox Code Playgroud)
当我在浏览器中输入https://MyCompany.sharepoint.com/teams/MyProject/Shared Documents/MyExcelFile.xlsx时,它会提示我在 Excel 中打开 Excel 文档(而不是在线 Excel)。所以我的假设是该链接有效。我也尝试过使用httr包(没有运气):
data <- GET(url, authenticate("username","password",type="any"))
Run Code Online (Sandbox Code Playgroud)
任何帮助深表感谢。
我目前正在使用 Rstudio 和 R markdown 创建 pdf。然而,每次我尝试编织这些错误消息时都会出现:
! Sorry, but C:\Users\AP\AppData\Local\Programs\MiKTeX\miktex\bin\x64\pdflatex.exe did not succeed.
! The log file hopefully contains the information to get MiKTeX going again:
! C:\Users\AP\AppData\Local\MiKTeX\miktex\log\pdflatex.log
Error: LaTeX failed to compile new-report.tex. See https://yihui.org/tinytex/r/#debugging for debugging tips. See c2089682-report.log for more info.
In addition: Warning message:
In has_crop_tools() :
Tool(s) not installed or not in PATH: ghostcript
-> As a result, figure cropping will be disabled.
Execution halted
Run Code Online (Sandbox Code Playgroud)
我尝试卸载/重新安装 MiKTex 并重新启动 Rstudio,但问题仍然存在。我该如何解决这个问题?
r ×10
ggplot2 ×2
r-markdown ×2
console ×1
demographics ×1
excel ×1
ggpubr ×1
latex ×1
miktex ×1
odbc ×1
printing ×1
rnotebook ×1
rstudio ×1
rstudioapi ×1
sharepoint ×1
sql-server ×1
unixodbc ×1
waffle-chart ×1