这是一个静态图的可复制示例,我想对其进行动画处理(我想显示MCMC采样器的行为)。
library(tidyverse)
library(gganimate)
set.seed(1234)
plot_data <- tibble(x=cumsum(rnorm(100)),
y=cumsum(rnorm(100)),
time=1:length(x))
ggplot(data=plot_data,
aes(x=y, y=x)) +
geom_point() + geom_line()
Run Code Online (Sandbox Code Playgroud)
我想看到的是绘制点时它们是可见的,然后一点点褪色(即alpha从例如1变为0.3),而会有一条线仅显示最近的历史(理想情况下是淡色显示最近的历史最少消失,多退后几步完全消失)。
以下内容或多或少地实现了我想要的点(因此,从某种意义上讲,我只想向此点添加渐变线以连接最后几个点-点在某些帧上越慢渐变越好):
ggplot(data=plot_data,
aes(x=y, y=x)) +
geom_point() +
transition_time(time) +
shadow_mark(past = T, future=F, alpha=0.3)
Run Code Online (Sandbox Code Playgroud)
我正在努力的是如何为两个几何(例如点和线)添加两个不同的行为。例如,在下面的点消失了(我不希望它们消失),线条也没有褪色(我希望它们消失)。
p <- ggplot(data=plot_data,
aes(x=y, y=x)) +
geom_point() +
transition_time(time) +
shadow_mark(past = T, future=F, alpha=0.3)
p + geom_line() +
transition_reveal(along = time) +
shadow_mark(past = T, future=F, alpha=0.3)
Run Code Online (Sandbox Code Playgroud) In newer versions of R (I have 3.6 and previously had 3.2), the stats::regularize.values function has been changed to have a default value of warn.collapsing as TRUE. This function is used in splinefun and several other interpolation functions in R. In a microsimulation model, I am using splinefun to smooth a large amount (n > 100,000) of data points of the form (x, f(x)). Here, x is a simulated vector of positive-valued scalers, and f(x) is some function of …
alltracks+ ggsn::scalebar(x.min = -67, x.max = -66.5,
y.min = 44.5, y.max = 44.6,
dist = 5, dd2km = TRUE,
model = "WGS84", height = 0.5,
st.dist = 0.5)
Run Code Online (Sandbox Code Playgroud)
错误:
ggsn::scalebar(x.min = -67, x.max = -66.5, y.min = 44.5, y.max = 44.6, 中的错误:变换应该是逻辑的。
我尝试过更改不同的元素,但找不到解决此问题的方法。
我有一个数据帧命名df1其中有四列(即id,s,date和value)。值列为空,我想使用名为的第二个数据框填充它df2。df2被id列和其他许多列填充,这些列使用它们所属的日期命名。我需要的是找到df1$valuein的对应值df2,其中日期和ID号都匹配。
示例数据:
set.seed(123)
#df1
df1 <- data.frame(id = 1:100,
s = runif(100,100,1000),
date = sample(seq(as.Date('1999/01/01'), as.Date('2001/01/01'), by="day"), 100),
value = NA)
#df2
df2 <- data.frame(matrix(runif(80000,1,100), ncol=800, nrow=100))[-1]
names(df2) <- seq(as.Date("1999-01-01"),as.Date("2002-12-31"),1)[c(1:799)]
df2 <- cbind(id = 1:100, df2)
Run Code Online (Sandbox Code Playgroud) 我是R的新手,可以针对以下问题使用一些帮助:
我有一个data.table格式的相当大的数据集,我想遍历一组由数字索引的变量(例如x_1,x_2,...,x_n)。为了简单起见,假设我要对变量y的不同值取每个变量的平均值,然后在my中将其命名为(m_1,m_2,...,m_n)data.table。
有人可以建议这样做的有效代码吗?n而且像这样的变量数量x_*太多,我无法一一完成。
谢谢