假设我在0,1和10左右有很多值.我已经映射了它们,即:
geom_point(aes(size=value))
Run Code Online (Sandbox Code Playgroud)
..这给我一个像这样的图像:
很难看到很小的一点.所以我想知道我是否可以设置点大小的缩放框架.附:
scale_size_area(max_size=8)
Run Code Online (Sandbox Code Playgroud)
我可以设置最大尺寸,但不能设置最小尺寸.我可以log10我的数据导致几乎没有点大小差异.最好定义最小尺寸和最大值,省略指定的分布(例如,可以使用scale_colour_gradient).
在RStudio中,我开始了一个调试模式
debug(ls)
ls()
Run Code Online (Sandbox Code Playgroud)
然后我不知道如何结束这种模式.提示改为
Browse[2]>
Run Code Online (Sandbox Code Playgroud)
如何结束此调试模式?
我想将一个URL链接引用到R markdown,我已经尝试过输入,例如"addlink"或"address < - ...."它们都不起作用.如何在R markdown中添加链接?
谢谢!
编辑:评论的op代码是
{r} [linked phrase] (www.bit.ly/1EqAdIp)
Run Code Online (Sandbox Code Playgroud) 我导入的数据描述了在不同位置进行的数值测量,以获得或多或少均匀分布的时间戳.有时这种"均匀分布"并不是真的,我必须丢弃一些值,只要每个位置的每个时间戳都有一个值,那么哪个值并不重要.
我对数据做了什么?我将它添加到result
data.frame.我有一个timestamp
列和timestamp列中的值,它们肯定是根据的间隔均匀分布的step
.
timestamps <- ceiling(as.numeric((timestamps-epoch)*24*60/step))*step*60 + epoch
result[result$timestamp %in% timestamps, columnName] <- values
Run Code Online (Sandbox Code Playgroud)
当我的时间戳落在同一时间步时,这不起作用.这是一个例子:
> data.frame(ts=timestamps, v=values)
ts v
1 2009-09-30 10:00:00 -2.081609
2 2009-09-30 10:04:18 -2.079778
3 2009-09-30 10:07:47 -2.113531
4 2009-09-30 10:09:01 -2.124716
5 2009-09-30 10:15:00 -2.102117
6 2009-09-30 10:27:56 -2.093542
7 2009-09-30 10:30:00 -2.092626
8 2009-09-30 10:45:00 -2.086339
9 2009-09-30 11:00:00 -2.080144
> data.frame(ts=ceiling(as.numeric((timestamps-epoch)*24*60/step))*step*60+epoch,
+ v=values)
ts v
1 2009-09-30 10:00:00 -2.081609
2 2009-09-30 10:15:00 -2.079778
3 2009-09-30 10:15:00 -2.113531
4 …
Run Code Online (Sandbox Code Playgroud) 我在谷歌地图上有一个典型的多边形集,有一些latLng:
var bermudaTriangle = new google.maps.Polygon({
paths: [
new google.maps.LatLng(25.774252, -80.190262),
new google.maps.LatLng(18.466465, -66.118292),
new google.maps.LatLng(32.321384, -64.75737),
]
});
bermudaTriangle.setMap(map);
Run Code Online (Sandbox Code Playgroud)
这些是谷歌文件中的百慕大三角坐标.我也有一些随机的coords,saaay:
var coord1 = new new google.maps.LatLng(26.194876675795218,-69.8291015625)
var coord2 = new new google.maps.LatLng(33.194876675795218,-63.8291015625)
Run Code Online (Sandbox Code Playgroud)
第一个恰好在三角形内部,第二个在外面.这些只是一些例子,我需要的是一种方法来找出,如果一个提供的坐标(不只是这两个中的一个,任何协调)在多边形内部或外部(也不总是百慕大三角形,甚至不是三角形 - 多边形可以有任意数量的latLng).我查看了Google Maps API文档,但找不到任何能够解答此问题的函数.
我想使用ggplot2::facet_wrap
或facet_grid
使用使用ggforce::facet_zoom
.
我也很乐意以与 类似的方式将它们排列起来facet_grid
,最好使用条形文本标签,但也不太明白如何让它起作用。
例如一个分面图
library(ggplot2)
library(ggforce)
library(dplyr)
p1 <- ggplot(mtcars) +
geom_boxplot(
aes(
x = factor(gear),
y = mpg,
fill = factor(gear)
)
) +
facet_wrap(
facets = ~cyl,
nrow = 2,
scales = "free_y"
)
p1
Run Code Online (Sandbox Code Playgroud)
但是每个方面都应该是这样的(这是上面的第一个方面):
zoomlims <- data.frame(
cyl = c(4, 6, 8),
lower = c(27, 18, 13),
upper =c(32, 21, 17)
)
p2a <- ggplot(mtcars %>% filter(cyl == 4)) +
geom_boxplot(
aes(
x = factor(gear),
y = mpg, …
Run Code Online (Sandbox Code Playgroud) \n\n\n笔记本块内的当前工作目录始终是包含笔记本 .Rmd 文件的\n 目录。
\n
明白了。但是,如果在笔记本中我们setwd()
执行某些操作(无论是“包含笔记本 .Rmd 文件的目录”还是其他地方,都无关紧要),这不会在控制台中设置工作目录,而只会在笔记本中设置。
反之亦然,在控制台中设置工作目录不会更改笔记本 \xe2\x80\x94 中的工作目录,尽管上面对此有所解释。
\n\n在控制台和笔记本中设置工作目录的唯一方法似乎是setwd()
在控制台和笔记本中运行相同的调用。
为什么?
\n\n有没有什么方法可以简化此操作,以便在进行调用后,笔记本和控制台的工作目录自动相同setwd()
,而不是令人困惑地拥有两个“并行”工作目录?
人们假设一个人并不是唯一一个在笔记本上工作的人,而是在做“肮脏的工作”并快速检查一个人没有计划保留在控制台中。因此,这种工作目录行为非常令人沮丧。
\n在if_else()
函数中dplyr
,它要求if:TRUE和if:FALSE元素属于同一个类.
我希望NA
从我的if_else()
发言中回复.
但是,例如
if_else(mtcars$cyl > 5, NA, 1)
Run Code Online (Sandbox Code Playgroud)
回报
错误:
false
类型'double'不是'逻辑'
因为简单地读入NA
是合乎逻辑的,1是数字(双重).
包裹as.numeric()
周围的NA
正常工作:例如,
if_else(mtcars$cyl > 5, as.numeric(NA), 1)
Run Code Online (Sandbox Code Playgroud)
回报
1 NA NA 1 NA NA NA NA 1 1 NA NA NA NA NA NA NA NA 1 1 1 1 NA NA NA NA 1 1 1 NA NA NA 1
正如我所希望的那样.
但这感觉有点傻/不必要.是否有更好的输入方式NA
作为" 数字NA
"而不是像这样包装?
NB这仅适用于严格的dplyr::if_else
不是base::ifelse …
我有一个包含 40 个的列表tbl_df
,我正在尝试使用bind_rows()
. 所有元素都具有相同数量的列并且列具有相同的名称。我已经生成了一个ID
包含列表中每个元素名称的列,因此无需使用该ID
参数。
运行命令后bind_rows(list)
,我收到此错误:
列
Chr
不能从整数转换为字符。
在这种情况下,Chr 代表“染色体”而不是字符,这些值应保留为整数。由于列名为“Chr”,dplyr 是否会自动尝试强制转换为字符?如果是这样,我如何避免 dplyr 这样做?命令会这样做是没有意义的,但我不确定还会发生什么。
仅供参考,当我尝试仅显式组合列表的前两个元素时,这非常有效,即 bind_rows(list$element1, list$element2).
***这是我的第一个SO问题,我是R和一般编码的新手。如果我违反了有关发帖的规则,请原谅。让我知道如何改进我的帖子/问题,我很乐意在未来修复。
r ×9
dplyr ×2
ggplot2 ×2
r-markdown ×2
rstudio ×2
charts ×1
debugging ×1
gantt-chart ×1
ggforce ×1
hyperlink ×1
javascript ×1
knitr ×1
r-faq ×1
rnotebook ×1