小编Ale*_*lex的帖子

如何在R中转置tibble()

在R中,t()函数实际上是指矩阵.当我尝试移动我的tibble时,t()我最终得到一个矩阵.矩阵不能制成一个矩阵tibble().我最终花时间将列名存储为变量并附加它们,因为我尝试重新制作我的tibble的转置版本.

问题:转换tibble的最简单方法是什么,第一列应该成为新tibble的列名,旧列名将成为我新tibble的第一列.

transpose r dataframe

11
推荐指数
3
解决办法
1万
查看次数

在dplyr中仅通过一个变量进行分组后取消组合

我有很多重复测量的单位

>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命令,但这似乎只有在按两个变量分组时才有效.我如何通过项目计数过滤然后让我原来的变量后面即valueyear.它看起来应该是这样的

>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)

r dplyr

11
推荐指数
1
解决办法
2万
查看次数

清晰的purrr语法

我经常发现自己在使用时在变量名中做出了错误的选择purrr.

例如,在purrr的github页面上获取代码.

library(purrr)

mtcars %>%
  split(.$cyl)
Run Code Online (Sandbox Code Playgroud)

split(.$cyl)我经常犯错误的使用split(cyl).这似乎是最明显的选择,因为它与其他tidyverse命令一致select(cyl).

我的问题是为什么.$在变量名前面.

r purrr

10
推荐指数
1
解决办法
136
查看次数

带假期的每周预测

我使用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代码来输入我的假期.一个例子很有用.

r time-series forecasting

8
推荐指数
3
解决办法
1852
查看次数

如何按包含 dbplyr 中的变量的字符串进行过滤

我通常在 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)

r dplyr dbplyr

7
推荐指数
2
解决办法
1595
查看次数

传播行的重复标识符

已经有关于这个主题的问题之前这儿,但我仍然有传播这种挣扎.我希望每个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)

r spread dplyr tidyr

7
推荐指数
1
解决办法
2899
查看次数

从 iframe 中抓取文本

我将如何使用 puppeteer 从 iframe 中抓取文本。

作为一个简单的可重现示例,This is a paragraph从这个 url 的 iframe 中抓取

https://www.w3schools.com/js/tryit.asp?filename=tryjs_events

javascript puppeteer

6
推荐指数
1
解决办法
3301
查看次数

如何在rmarkdown中使用stan

我想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)

r r-markdown stan rstan

6
推荐指数
1
解决办法
1245
查看次数

用R中的字符串删除前导0

我有以下数据

id
00001
00010
00022
07432
Run Code Online (Sandbox Code Playgroud)

我想删除前导0s,因此数据需要以下内容

id
1
10
22
7432
Run Code Online (Sandbox Code Playgroud)

r stringr

6
推荐指数
3
解决办法
2353
查看次数

拟合局部级别泊松(状态空间模型)

我正在研究“使用指数平滑进行预测”。我被困在练习 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)

optimization r time-series poisson

6
推荐指数
1
解决办法
188
查看次数