在R中,t()函数实际上是指矩阵.当我尝试移动我的tibble时,t()我最终得到一个矩阵.矩阵不能制成一个矩阵tibble().我最终花时间将列名存储为变量并附加它们,因为我尝试重新制作我的tibble的转置版本.
问题:转换tibble的最简单方法是什么,第一列应该成为新tibble的列名,旧列名将成为我新tibble的第一列.
我有很多重复测量的单位
>df
Item value year
1 20 1990
1 20 1991
2 30 1990
2 15 1990
2 5 1991
3 10 1991
4 15 1990
5 10 1991
5 5 1991
Run Code Online (Sandbox Code Playgroud)
我试图使用dplyr删除具有较少观察数的值.在这个玩具数据上可以说我想删除少于2个计数的数据
>df <- df %>%
group_by(Item) %>%
tally() %>%
filter(n>1)
Item n
1 2
2 3
5 2
Run Code Online (Sandbox Code Playgroud)
问题是我希望将其扩展回原来的状态,但是使用此过滤器.我试图使用该ungroup命令,但这似乎只有在按两个变量分组时才有效.我如何通过项目计数过滤然后让我原来的变量后面即value和year.它看起来应该是这样的
>df
Item value year
1 20 1990
1 20 1991
2 30 1990
2 15 1990
2 5 1991
5 10 1991
5 …Run Code Online (Sandbox Code Playgroud) 我经常发现自己在使用时在变量名中做出了错误的选择purrr.
library(purrr)
mtcars %>%
split(.$cyl)
Run Code Online (Sandbox Code Playgroud)
在split(.$cyl)我经常犯错误的使用split(cyl).这似乎是最明显的选择,因为它与其他tidyverse命令一致select(cyl).
我的问题是为什么.$在变量名前面.
我使用Hyndman的forecast软件包tbats在每周级别上产生一些准确的预测,但我在假期时会出现重大错误.如何在模型中包含假期?此外,有证据表明Arima不适合我的每周数据.所以假期必须以非芳香的方式添加.
我见过两种解决方案.一个https://robjhyndman.com/hyndsight/dailydata/显示如何使用傅里叶项将假期添加为虚拟变量.问题是假变量采用1或0的形式.我知道不同的假期有不同的效果,1或0不会捕获.例如,黑色星期五与中国新年非常不同.
另一个解决方案是在https://robjhyndman.com/hyndsight/forecast7-part-2/,其中covariate nnetrchange用作auto.arima的替代品,带有季节性虚拟变量.问题是我没有看到如何编写R代码来输入我的假期.一个例子很有用.
我通常在 dplyr 中使用filterwith grepl,但在使用dbplyr. 我收到一个错误,即 grepl 不是可识别的函数。我的猜测是它无法转换为 SQL 服务器。有什么办法解决这个问题dbplyr
这是一个可重现的例子
library(dbplyr)
library(nycflights13)
## Working chunk
con <-DBI::dbConnect(RSQLite::SQLite(), ":memory:")
DBI::dbWriteTable(con, "flights", flights)
DBI::dbGetQuery(con, "SELECT origin, flight
FROM flights WHERE origin like '%jf%'")
## End working chunk
## The below code does not work
flights <- tbl(con,"flights")
flights %>%
select(origin, flight) %>%
filter(grepl('jf', origin))
Run Code Online (Sandbox Code Playgroud) 已经有关于这个主题的问题之前这儿,但我仍然有传播这种挣扎.我希望每个state人都有自己的温度值列.
这是dput()我的一个数据.我会叫它df
structure(list(date = c("2018-01-21", "2018-01-21", "2018-01-20",
"2018-01-20", "2018-01-19", "2018-01-19", "2018-01-18", "2018-01-18",
"2018-01-17", "2018-01-17", "2018-01-16", "2018-01-16", "2018-01-15",
"2018-01-15", "2018-01-14", "2018-01-14", "2018-01-12", "2018-01-12",
"2018-01-11", "2018-01-11", "2018-01-10", "2018-01-10", "2018-01-09",
"2018-01-09", "2018-01-08", "2018-01-08", "2018-01-07", "2018-01-07",
"2018-01-06", "2018-01-06", "2018-01-05", "2018-01-05", "2018-01-04",
"2018-01-04", "2018-01-03", "2018-01-03", "2018-01-03", "2018-01-03",
"2018-01-02", "2018-01-02"), tmin = c(24, 31, 31, 29, 44, 17,
32, 7, 31, 7, 31, 6, 30, 13, 30, 1, 43, 20, 33, 52, 42, 29, 30,
29, 26, 32, 33, …Run Code Online (Sandbox Code Playgroud) 我将如何使用 puppeteer 从 iframe 中抓取文本。
作为一个简单的可重现示例,This is a paragraph从这个 url 的 iframe 中抓取
https://www.w3schools.com/js/tryit.asp?filename=tryjs_events
我想rstan在rnotebook 中获得模型的估计系数
我有以下stan块:
```{stan output.var="rats"}
data {
int<lower=0> N;
int<lower=0> T;
real x[T];
real y[N,T];
real xbar;
}
parameters {
real alpha[N];
real beta[N];
real mu_alpha;
real mu_beta; // beta.c in original bugs model
real<lower=0> sigmasq_y;
real<lower=0> sigmasq_alpha;
real<lower=0> sigmasq_beta;
}
transformed parameters {
real<lower=0> sigma_y; // sigma in original bugs model
real<lower=0> sigma_alpha;
real<lower=0> sigma_beta;
sigma_y = sqrt(sigmasq_y);
sigma_alpha = sqrt(sigmasq_alpha);
sigma_beta = sqrt(sigmasq_beta);
}
model {
mu_alpha ~ normal(0, 100);
mu_beta ~ normal(0, 100); …Run Code Online (Sandbox Code Playgroud) 我有以下数据
id
00001
00010
00022
07432
Run Code Online (Sandbox Code Playgroud)
我想删除前导0s,因此数据需要以下内容
id
1
10
22
7432
Run Code Online (Sandbox Code Playgroud) 我正在研究“使用指数平滑进行预测”。我被困在练习 16.4 的部分:
该数据集
partx包含汽车零件的月销售历史记录。应用局部泊松模型。应该通过最大化似然或最小化平方误差总和来估计参数。
局部泊松模型定义为:
我有以下代码,但似乎卡住了。优化总是返回接近起始值的东西。
我是否正确拟合了局部泊松模型?
library(expsmooth)
data("partx")
S <- function(x) {
a <- x[1]
if(a < 0 | a > 1)
return(Inf)
n <- length(partx)
lambda <- numeric(n+1)
error <- numeric(n)
lambda[1] <- x[2]
for(i in 1:n) {
error[i] <- partx[i]-rpois(1,lambda[i])
lambda[i+1] <- (1-a)*lambda[i] + a*partx[i]
}
return(sum(error^2))
}
# returns a = 0.5153971 and lambda = 5.9282414
op1 <- optim(c(0.5,5L),S, control = list(trace = 1))
# returns a = 0.5999655 and lambda = …Run Code Online (Sandbox Code Playgroud) r ×9
dplyr ×3
time-series ×2
dataframe ×1
dbplyr ×1
forecasting ×1
javascript ×1
optimization ×1
poisson ×1
puppeteer ×1
purrr ×1
r-markdown ×1
rstan ×1
spread ×1
stan ×1
stringr ×1
tidyr ×1
transpose ×1