小编Cyr*_*ian的帖子

自定义具有不同颜色的ggplot2轴标签

我有一个基本的条形图,我是从ggplot2创建的.y变量包含正值和负值,大约一半的矢量值为负值.我想自定义轴标签,以便当相应的x因子的y值为负时,其标签为红色.这是一个可重复的例子:

#Create data
x <- c("a","b","c","d","e","f")
y <- c("10", "9","-10","11","-3","-15")
data <- data.frame(x, y)
data$y <- as.numeric(as.character(data$y))

data$category <- ifelse(as.numeric(data$y)<0, 0, 1)
data$category <- as.factor(data$category)

#Graph
library(cowplot) #theme
library(ggplot2)

ggplot(data, aes(x=x, y=y)) + 
  geom_bar(stat = "identity", aes(fill=category)) +
  theme(axis.text.x = element_text(angle = 45, hjust = 1)) +
  theme(axis.text.x = element_text(colour = "black"))
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

我需要的是一种将"c","e"和"f"的标签颜色更改为我选择的颜色的方法.我试过切换,theme(aes(axis.text.x=element_text(colour=Air_pricier)))但这产生了一个错误.提前致谢.

r ggplot2 geom-bar

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

gridExtra 2.0.0更改标题大小

我知道gridExtra已经更新.结果,我想知道如何更改标题大小.这不再有效

   grid.arrange(a, b, c, d,ncol=2, 
      nrow=2, main=textGrob("Title", gp=gpar(fontsize=15,font=8)))
Run Code Online (Sandbox Code Playgroud)

这不再有效,main的选项已经改为top但我无法弄清楚textGrob功能来改变字体大小).有线索吗?谢谢

plot r gridextra

14
推荐指数
2
解决办法
2万
查看次数

加载平面文件时DTS_E_PRIMEOUTPUTFAILED,错误代码为0xC0202091

我尝试运行时收到错误消息SSIS Package,错误是:

[平面文件源[1]]错误:找不到列"列8"的列分隔符.

[平面文件源[1]]错误:跳过数据行时发生错误.

[SSIS.Pipeline]错误:SSIS错误代码DTS_E_PRIMEOUTPUTFAILED.组件"Flat File Source"(1)上的PrimeOutput方法返回错误代码0xC0202091.当管道引擎调用PrimeOutput()时,组件返回失败代码.失败代码的含义由组件定义,但错误是致命的,管道停止执行.在此之前可能会发布错误消息,其中包含有关失败的更多信息.

大多数csv文件加载没有问题,但少数csv文件没有加载,在此之前,包已经正常工作多年.

ssis

12
推荐指数
4
解决办法
6万
查看次数

R:如何在ggplot2 linegraph中抖动geom_line和geom_point?

我有一个ggplot2线图,有两行显着重叠.我正在尝试使用position_jitterdodge()它们以使它们更加明显,但我无法以相同的方式获得线条和指向两者的抖动.我试图只是水平抖动点和线(因为我不想在y轴上建议任何变化).这是一个MWE:

## Create data frames
dimension <- factor(c("A", "B", "C", "D"))
df <- data.frame("dimension" = rep(dimension, 2),
                 "value" = c(20, 21, 34, 32,
                             20, 21, 36, 29),
                 "Time" = c(rep("First", 4), rep("Second", 4)))
## Plot it
ggplot(data = df, aes(x = dimension, y = value,
                      shape = Time, linetype = Time, group = Time)) +
    geom_line(position = position_jitterdodge(dodge.width = 0.45)) +
    geom_point(position = position_jitterdodge(dodge.width = 0.45)) +
    xlab("Dimension") + ylab("Value")
Run Code Online (Sandbox Code Playgroud)

哪个产生丑陋:

线/点不匹配

我显然在这里遇到了一些根本性的错误:我应该怎样做才能使geom_point抖动跟随geom_line抖动?

r ggplot2 jitter

10
推荐指数
3
解决办法
5237
查看次数

该函数将从一个表中提取小时值,并在另一表中填充以一小时为增量的“存储桶”

我有以下格式的数据供人们打发时间:

(dat<-data.frame(Date = c("1/1/19", "1/2/19", "1/4/19", "1/2/19"), 
                Person = c("John Doe", "Brian Smith", "Jane Doe", "Alexandra Wakes"), 
                Time_In = c("1:15pm", "1:45am", "11:00pm", "1:00am"), 
                Time_Out = c("2:30pm","3:33pm","3:00am","1:00am")))

    Date          Person Time_In Time_Out
1 1/1/19        John Doe  1:15pm   2:30pm
2 1/2/19     Brian Smith  1:45am   3:33pm
3 1/4/19        Jane Doe  3:00pm   3:00am
4 1/2/19 Alexandra Wakes  1:00am   1:00am
Run Code Online (Sandbox Code Playgroud)

我正在寻找用R或Python编写的函数,该函数将提取每个人在24个不同的存储桶中工作的总小时数,每个存储桶作为自己的列。它看起来像这样:

在此处输入图片说明

因此,在第一种情况下,此人从下午1:15到下午2:30工作,因此他们从下午1点到下午2点(13-14)工作了0.75小时,从下午2点到下午3点(14-15)工作了0.5小时。

我认为某些方法可能会起作用...

  1. 一系列嵌套循环
  2. 一系列的if / then语句
  3. 我尚未想到的Tidyverse或Pandas中的某些功能。

从上面的#1和#2(?)尝试是完全失败的。不确定工作流程是什么,但是任何建议都将不胜感激。

请注意,结果表中的列不必是数字(可以是小时1,小时2等,或者一般来说只要是任何因素,只要它表示24小时即可)。

我过去的尝试包括嵌套的for循环,如下所示:

for (i in 1:nrow(data)){

  if((int_overlaps(createinterval(data$PunchDate[i],0,1), workinterval[i]))){ `0-1`[i]=1} else{ `0-1`[i]=0}
  if((int_overlaps(createinterval(data$PunchDate[i],1,2), workinterval[i]))){ `1-2`[i]=1} else{ `1-2`[i]=0}
  if((int_overlaps(createinterval(data$PunchDate[i],2,3), …
Run Code Online (Sandbox Code Playgroud)

python r dataframe pandas

10
推荐指数
2
解决办法
366
查看次数

控制Rstudio演示中的图形大小

我正在RStudio(.Rpres)中创建一个演示文稿.我有一个太大的数字,超出了屏幕.我怎样才能减少它?

太大了,需要减小尺寸

Figure 1
========================================================
![alt text](fig1)
Run Code Online (Sandbox Code Playgroud)

r presentation rstudio r-markdown rpres

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

无法使用View()或edit()函数,获取".External2(C_dataviewer,x,title)中的错误:设备无效"错误消息

我正在Mac OSX Snow Leopard系统中通过终端运行R.

我试图使用时收到此错误消息View():

.External2(C_dataviewer,x,title)中的错误:无效设备此外:警告消息:1:在视图中(a):Xlib不支持的语言环境:某些X操作将在C语言环境中运行2:在视图(a)中: X无法设置区域设置修改器3:在视图中(a):无法创建字体集 - -fixed-medium-r- - - -120- - - - - -

尝试使用时出现此错误消息edit():

.External2中的错误(C_dataentry,datalist,modes):设备无效此外:警告消息:1:在edit.data.frame(a)中:Xlib不支持的语言环境:某些X操作将在C语言环境中运行2:在编辑中.data.frame(a):X无法设置语言环境修饰符3:在edit.data.frame(a)中:无法创建fontset - -fixed-medium-r- - - -120- - - - - -

我无法找到有关此特定问题的信息.我该怎么做才能解决这个问题?

sessionInfo() 收益:

R version 3.0.1 (2013-05-16)
Platform: x86_64-apple-darwin10.8.0 (64-bit)

locale:
[1] C/UTF-8/C/C/C/C

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     
Run Code Online (Sandbox Code Playgroud)

r

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

randomForest:na.fail.default 中的错误:对象中缺少值

我尝试通过交叉验证训练随机森林,并使用该caret包来训练 rf:

### variable return_customer = binary variable
idx.train <- createDataPartition(y = known$return_customer, p = 0.8, list = FALSE)
train <- known[idx.train, ]
test <- known[-idx.train, ]
k <- 10
set.seed(123)
model.control <- trainControl(method = "cv", number = k, classProbs = TRUE, summaryFunction = twoClassSummary,  allowParallel = TRUE)
rf.parms <- expand.grid(mtry = 1:10)
rf.caret <- train(return_customer~., data = train, method = "rf", ntree = 500, tuneGrid = rf.parms, metric = "ROC", trControl = model.control)
Run Code Online (Sandbox Code Playgroud)

运行该train函数时,我收到此错误代码,但没有缺失值return_customer …

r missing-data

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

使用R中usmap包中的plot_usmap在同一张地图上绘制州和县边界

我想创建一张显示州和县边界(即不同颜色的州边界)的美国地图。我通常使用导入的形状文件或使用 的函数来执行此ggplot2操作map_data。然而,我面临三个障碍。

1)我无法在我的计算环境中安装gdalgeos,因此无法使用任何形状文件或 GeoJSON 文件(我尝试加载使用的地图县级形状文件fastshp尚未成功,但我愿意接受任何可以重现地图的解决方案低于但包括州边界)。

map_data2)我需要包括夏威夷和阿拉斯加,这样就排除了from的使用ggplot2

3)我需要地图包括州和县边界,这使得使用usmap包成为问题,因为它是包装函数,ggplot2但没有轻松和一般的能力来定制原始ggplot2对象的级别。

4)此外,无法使用sf包 bc 它具有非 R 库依赖项(units包依赖于 C 库libudunits2)。

我需要什么:一张可以投影阿拉斯加和夏威夷并使用对比色显示州和县边界的地图,我需要完成所有这一切,而无需诉诸任何依赖rgeosrgdal和/或 的软件包units

到目前为止我plot_usmapusmap包中尝试过的内容:

library(dplyr)
library(stringr)
library(ggplot2)
library(usmap)
library(mapproj)
devtools::install_github("wmurphyrd/fiftystater")
library(fiftystater)

county_data<-read.csv("https://www.ers.usda.gov/webdocs/DataFiles/48747/PovertyEstimates.csv?v=2529") %>% #
  filter(Area_name != "United States") %>%
  select(FIPStxt, Stabr, Area_name, PCTPOVALL_2017) %>%
  rename(fips = FIPStxt)
crimes <- data.frame(state = tolower(rownames(USArrests)), USArrests)
state_map …
Run Code Online (Sandbox Code Playgroud)

mapping r ggplot2 ggmap

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

在R中闪亮的仪表板应用程序中显示LaTeX方程式

我想在我闪亮的仪表板应用程序中显示带有LaTeX方程的Rmd文件.我使用includeMarkdown()和遇到了问题includeHTML().这是我正在努力实现的简化应用程序.这是我的app.R:

library(shinydashboard)
ui <- dashboardPage(
    dashboardHeader(title='My test application'),
    dashboardSidebar(
        sidebarMenu(
            menuItem("Theory", tabName = "theory", icon = icon("book"))
        )
    ),
    dashboardBody(

        tabItems(

            tabItem(tabName="theory",
                    includeMarkdown("Theory.Rmd")
                    #includeMarkdown("Theory.md")
                    #includeHTML("Theory.html")
            )
        )    
    )
)

server <- function(input, output){

}

shinyApp(ui = ui, server = server)
Run Code Online (Sandbox Code Playgroud)

我的Theory.Rmd文件:

---
title: "Theory"
output: 
  html_document:
    mathjax: "http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"
---
Here is an equation:

$$Q = a(h ? c)^b$$ 
Run Code Online (Sandbox Code Playgroud)

请注意,为了运行应用程序,必须将Theory.Rmd和app.R保存在同一目录(例如工作目录)中,手必须具有这些确切的名称.要获取Rmd文件的markdown Theory.md文件,只需执行以下操作:

library(knitr)
knit("Theory.Rmd","Theory.md")
Run Code Online (Sandbox Code Playgroud)

要获取该Theory.html文件,只需按下Theory.Rmd文件中的Knit to HTML按钮即可

在我的浏览器或RStudio窗口中运行我的应用程序时,includeMarkdown("Theory.Rmd")或者includeMarkdown("Theory.md"),不要渲染方程式,但它在理论菜单项中默认启动,如下所示: 在此输入图像描述 但是使用includeHTML("Theory.html")方程式可以正确渲染,但屏幕显示会缩短,默认情况下它不会在任何菜单项中启动,如下所示:在此输入图像描述

但是当点击理论时,我得到了正确的渲染方程式: …

r r-markdown shiny shinydashboard

5
推荐指数
1
解决办法
1434
查看次数