小编Tim*_*Tim的帖子

lubridate注意到"为函数'%/%'选择签名'Timespan#Timespan'的方法"是什么意思?

当我在RI中运行以下代码时会得到一个奇怪的注释(它只在我第一次在会话中运行代码时出现):

> library(lubridate)
Attaching package: ‘lubridate’
The following object is masked from ‘package:base’:
    date
Warning message:
package ‘lubridate’ was built under R version 3.3.2 
> data.frame(i = interval(ymd(20140101), ymd(20160101)))$i %/% years(1)
Note: method with signature ‘Timespan#Timespan’ chosen for function ‘%/%’,
  target signature ‘Interval#Period’.
  "Interval#ANY", "ANY#Period" would also be valid
[1] 2
Run Code Online (Sandbox Code Playgroud)

我倍感困惑:

  1. 我不清楚它推荐的替代语法是什么.#是R中的注释,所以大概哈希意味着哈希以外的东西,但是什么?
  2. 它告诉我我做错了吗?该笔记似乎暗示它是一个FYI,但如果没有问题,FYI是一个奇怪的事情,可以吐出一个函数.

r lubridate

9
推荐指数
1
解决办法
760
查看次数

整数变量的气泡图,其中最大气泡的直径为1(在x或y轴刻度上)?

我希望实现以下结果:

  1. 重新调整气泡的大小,使最大气泡的直径为1(在x和y轴的压缩比例较大的任何一个上).
  2. 重新调整气泡的大小,使最小的气泡直径为1毫米
  3. 有一个图例的第一个和最后一个点的最小非零频率和最大频率.

我能做的最好的事情如下,但我需要一个更通用的解决方案,其中计算maxSize的值而不是硬编码.如果我在传统的R图中这样做,我会使用par("pin")来计算绘图区域的大小并向后工作,但我无法弄清楚如何使用ggplot2访问此信息.有什么建议?

library(ggplot2)
agData = data.frame(
  class=rep(1:7,3),
  drv = rep(1:3,rep(7,3)),
  freq = as.numeric(xtabs(~class+drv,data = mpg))
)

agData = agData[agData$freq != 0,]
rng = range(agData$freq)
mn = rng[1]
mx = rng[2]
minimumArea = mx - mn
maxSize = 20
minSize = max(1,maxSize * sqrt(mn/mx))
qplot(class,drv,data = agData, size = freq) + theme_bw() + 
  scale_area(range = c(minSize,maxSize), 
             breaks = seq(mn,mx,minimumArea/4), limits = rng) 
Run Code Online (Sandbox Code Playgroud)

这是迄今为止的样子: 在此输入图像描述

r ggplot2

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

标签 统计

r ×2

ggplot2 ×1

lubridate ×1