我正在尝试将日间/夜间线路添加到世界地图ggplot中,以指示日夜区域; 这样的事情:
计划是在24小时的周期内为我的地图制作动画,如下所示:
上面的动画是用正弦波实现的,我知道它是完全不准确的.我知道这geosphere::gcIntermediate可以让我绘制大圆线,就像这样:
library(ggplot2)
library(ggthemes)
library(geosphere)
sunPath1 <- data.frame(gcIntermediate(c(-179, -30), c(0, 30), n=100))
sunPath2 <- data.frame(gcIntermediate(c(0, 30), c(179, -30), n=100))
sunPath <- rbind(sunPath1, sunPath2)
ggplot(sunPath) +
borders("world", colour = "gray95", fill = "gray90") +
geom_ribbon(aes(lon, ymax = lat), ymin=-180, fill="black", alpha=0.2) +
theme_map()
Run Code Online (Sandbox Code Playgroud)
虽然我不确定是否有可能在一年中的不同点画出所需的线条,例如在三月看起来如此:
我没有找到解决方案的运气,但我猜我不知道要搜索的关键字,因为这超出了我的知识范围.我认为答案可能在日出方程中的某处,但我不知道如何应用这些来找到解决方案,我也不知道如何在一年中改变这些参数.这个网站(用于上面的情节)似乎也很有用,但我还不确定如何!
我有(1)评级参考表,以及(2)基于这些评级随机生成结果的函数,并根据生成的结果更新评级.
虽然下面的可重复示例有更简单的解决方案,但预期的应用是根据他们的Elo评级来模拟对手之间的结果,并且在每轮之后更新评级以便运行模拟"热".
在这里,我有一个评级参考表,ref并使用该函数genResult生成随机结果并使用全局赋值更新参考表.
set.seed(123)
ref <- data.frame(id = LETTERS[1:5],
rating = round(runif(5, 100, 200)))
genResult <- function(ref) {
id_i <- LETTERS[floor(runif(1, 1, 5))]
score_i <- round(rnorm(1, 0, 20))
ref[ref$id == id_i,]$rating <- ref[ref$id == id_i,]$rating + score_i
result_i <- data.frame(id = id_i, score = score_i)
# assign('ref', ref, envir=.GlobalEnv)
ref <<- ref
return(list(result_i, ref))
}
Run Code Online (Sandbox Code Playgroud)
复制此功能两次,我们可以看到ref按预期更新.
replicate(2, genResult(ref), simplify = F)
Run Code Online (Sandbox Code Playgroud)
回到这里,我们可以看到参考表在两次迭代中的每次迭代中都会更新.
[[1]]
[[1]][[1]]
id score
1 A 1
[[1]][[2]]
id rating
1 A …Run Code Online (Sandbox Code Playgroud) 我正在使用ffmpeg每五分钟从视频中提取一帧(以jpeg格式),并将控制台的输出通过管道传输到文本文件中,以获取所提取帧的确切时间戳。
我正在使用的命令是:
ffmpeg -i input.avi -ss 00:10:00 -vframes 10 -vf showinfo,fps=fps=1/300 %03d.jpg &> output.txt
Run Code Online (Sandbox Code Playgroud)
在这里-ss 00:10:00,我可以在开始之前跳过视频中的10分钟,而-vframes 10仅捕获前10帧(每5分钟1帧)。
除了命令会输出所有帧的信息(包括未写为jpeg的帧)以外,这几乎可以正常工作。这是三行示例输出:
[Parsed_showinfo_0 @ 0x2219020] n:11427 pts:11429 pts_time:599.979 pos:48892180 fmt:yuv420p sar:1/1 s:640x480 i:P iskey:0 type:P checksum:6309A75D plane_checksum:[15A29007 1617E1FE D93A3549] mean:[146 125 153 ] stdev:[17.6 1.0 2.1 ]
[Parsed_showinfo_0 @ 0x2219020] n:11428 pts:11430 pts_time:600.031 pos:48898094 fmt:yuv420p sar:1/1 s:640x480 i:P iskey:0 type:B checksum:815D031A plane_checksum:[E004E973 E28CE2D5 F56636B4] mean:[146 125 153 ] stdev:[17.6 1.0 2.1 ]
[Parsed_showinfo_0 @ 0x2219020] n:11429 pts:11431 pts_time:600.084 pos:48892448 fmt:yuv420p …Run Code Online (Sandbox Code Playgroud) 我试图理解|R.中的运算符.为什么呢
a = 2
a == 3 | 4
Run Code Online (Sandbox Code Playgroud)
回到TRUER?
a == 3
Run Code Online (Sandbox Code Playgroud)
和
a == 4
Run Code Online (Sandbox Code Playgroud)
每次返回FALSE,为什么第二行返回TRUE?