是否可以从使用 ggplot 创建的图例中删除某些项目?我有一个多面的图,点的大小为图提供了另一个维度。由于情节是分面的,我不需要某些图例项,因为它是由分面标题解释的,但图例仍然与点大小相关。
在下面的图中,我想删除“AREA”图例项,因为它已经由分面解释了,但保留解释点大小的“TOTAL_VOLUME”图例项。

这是用于生成绘图的代码:
library(data.table) # Import libraries
library(ggplot2)
library(scales)
set.seed(1234) # Set Seed
area.list <- LETTERS[seq(1:7)] # 7 Possible areas
date.list <- seq(as.Date("2014/03/01"), by="month", length=13)
# Build a random data set
data <- data.table(AREA = sample(area.list, 80, replace=TRUE),
DATE = sample(date.list, 80, replace=TRUE),
VOLUME = rnorm(n=80, mean=100000,sd=40000),
NON_CONFORMING_VOLUME = rnorm(n=80, mean=30000,sd=5000))
# Summarise data by area and date
data <- data[, list(TOTAL_VOLUME=sum(VOLUME),
TOTAL_NC_VOLUME=sum(NON_CONFORMING_VOLUME)),
by=list(AREA, DATE)]
data$PERCENT_NC <- data$TOTAL_NC_VOLUME / data$TOTAL_VOLUME * 100
p <- ggplot(data = data, aes(x …Run Code Online (Sandbox Code Playgroud) 我想在word文档中添加一个图表.我希望该图可以在页面大小设置为合法且边距较窄时最大化可用区域.我可以设置fig.width和fig.height,但似乎图表会自动重新调整大小以适应具有正常边距的默认页面大小(字母).
这是一个示例.rmd文件,它产生相同的结果:
---
title: "plot-resize"
output: word_document
---
Plot with the height set to 3" and the width to 7.5":
```{r, echo = FALSE, fig.height=3, fig.width=7.5, warning=FALSE, message=FALSE}
plot(cars)
```
However when the word document is created the image is automatically
re-sized to 79% of this.
Run Code Online (Sandbox Code Playgroud)
我可以用字重新调整情节的大小,但不必这样做会很好.
有没有办法在.rmd文件中设置页面大小和边距?
有没有办法确保图表保持指定的大小,即使它们不适合创建的word文档的边距?
我有一个脚本,使用R和mailR发送带有pdf附件的电子邮件。但是,我放置脚本的Windows服务器未安装Java,因此mailR无法正常工作。我有什么选择?邮件服务器需要用户名和密码,因此我认为sendmailR已退出,因为它不支持身份验证。最好在R脚本中执行此操作。
当我将矢量转换为具有太少元素以填充矩阵的矩阵时,矢量的元素被回收.有没有办法将回收利用或用NA取代回收的元素?
这是默认行为:
> matrix(c(1,2,3,4,5,6,7,8,9,10,11),ncol=2,byrow=TRUE)
[,1] [,2]
[1,] 1 2
[2,] 3 4
[3,] 5 6
[4,] 7 8
[5,] 9 10
[6,] 11 1
Warning message:
In matrix(c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11), ncol = 2, byrow = TRUE) :
data length [11] is not a sub-multiple or multiple of the number of rows [6]
Run Code Online (Sandbox Code Playgroud)
我希望得到的矩阵是
[,1] [,2]
[1,] 1 2
[2,] 3 4
[3,] 5 6
[4,] 7 8
[5,] 9 10
[6,] 11 …Run Code Online (Sandbox Code Playgroud) 我是机器学习的新手,正在尝试Kaggle的森林覆盖预测比赛,但我很早就被挂了.运行下面的代码时出现以下错误.
Error in train.default(x, y, weights = w, ...) : final tuning parameters could not be determined In addition: There were 50 or more warnings (use warnings() to see the first 50)
# Load the libraries
library(ggplot2); library(caret); library(AppliedPredictiveModeling)
library(pROC)
library(Amelia)
set.seed(1234)
# Load the forest cover dataset from the csv file
rawdata <- read.csv("train.csv",stringsAsFactors = F)
#this data won't be used in model evaluation. It will only be used for the submission.
test <- read.csv("test.csv",stringsAsFactors …Run Code Online (Sandbox Code Playgroud) 我有一个包含日期和价格的数据表:
set.seed(128)
dat <- data.table(DATE=c("2014-01-01","2014-02-01","2014-03-01","2014-04-01",
"2014-05-01","2014-06-01","2014-07-01","2014-08-01",
"2014-09-01","2014-10-01","2014-11-01","2014-12-01"),
PRICE=rnorm(n = 12, mean=100, sd=15))
dat
DATE PRICE
1: 2014-01-01 108.83590
2: 2014-02-01 67.69042
3: 2014-03-01 122.28905
4: 2014-04-01 93.50617
5: 2014-05-01 109.57878
6: 2014-06-01 128.81537
7: 2014-07-01 82.67295
8: 2014-08-01 68.25281
9: 2014-09-01 82.98265
10: 2014-10-01 124.28960
11: 2014-11-01 84.61275
12: 2014-12-01 93.14938
Run Code Online (Sandbox Code Playgroud)
我想将前几个月的价格作为数据表中的一列添加,因此表格如下所示:
DATE PRICE PRICE_PREV
1: 2014-01-01 108.83590
2: 2014-02-01 67.69042 108.83590
3: 2014-03-01 122.28905 67.69042
...
10: 2014-10-01 124.28960 82.98265
11: 2014-11-01 84.61275 124.28960
12: 2014-12-01 93.14938 84.61275
Run Code Online (Sandbox Code Playgroud)
我将如何在R中实现这一目标?