小编Jaa*_*aap的帖子

如何控制autoplot.forecast中的置信区间?

预测时间序列后,我们可以使用自动绘图来绘制时间序列及其预测。我正在使用该forecast包。但我想控制预测部分的置信区间。如何使绘图仅显示 95% 间隔或仅 80% 间隔,或根本不显示间隔。我将参数设置conf.intFALSE. 但它似乎并没有抑制图中的conf间隔。任何人都可以帮助使其发挥作用吗?谢谢。

fc <- ses(AirPassengers, h = 5)
autoplot(fc, conf.int = F)
Run Code Online (Sandbox Code Playgroud)

r time-series forecasting

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

如何按组编号?

我想添加"seq"列作为按组编号,用BSTN,ASTN,O和D组织.这项工作很难将我分类为组内的另一个组.只要BSTN和O相等,就会创建一个组,并且ASTN和D相等.

BSTN ASTN O D
150 202 150 151
150 202 151 201
150 202 201 202
150 202 150 426
150 202 426 423
150 202 423 321
150 202 321 320
150 202 320 203
150 202 203 202
150 403 150 426
150 403 426 423
150 403 423 321
150 403 321 320
150 403 320 403
150 403 150 151
150 403 151 201
150 403 201 403
150 403 150 426
150 403 426 …
Run Code Online (Sandbox Code Playgroud)

group-by r id

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

如何根据另一个变量的值创建一个递增1的变量?

假设我有这样的数据集:

id <- rep(1, 9)
start_over <- c(rep(NA, 3), "yes", NA, "yes", rep(NA, 3))
dat <- data.frame(id, start_over)
Run Code Online (Sandbox Code Playgroud)

也就是说,

    id  start_over
1   1   NA
2   1   NA 
3   1   NA
4   1   yes
5   1   NA
6   1   yes
7   1   NA
8   1   NA
9   1   NA
Run Code Online (Sandbox Code Playgroud)

如何创建一个新变量,每次start_over为"是"时,每个变量递增1.

    id  start_over   assignment
1   1   NA           1
2   1   NA           1
3   1   NA           1
4   1   yes          2
5   1   NA           2
6   1   yes          3
7   1   NA …
Run Code Online (Sandbox Code Playgroud)

r

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

将每一行彼此连接

假设我们有一个简单的数据表:

d <- data.table(a=c(1,2,3),b=c("A","B","C"))
Run Code Online (Sandbox Code Playgroud)

它的内容是:

   a b
1: 1 A
2: 2 B
3: 3 C
Run Code Online (Sandbox Code Playgroud)

现在,我想将数据表的每一行彼此连接/合并。结果应如下所示:

   a b c d
1: 1 A 1 A
2: 1 A 2 B
3: 1 A 3 C
4: 2 B 1 A
5: 2 B 2 B
6: 2 B 3 C
7: 3 C 1 A
8: 3 C 2 B
9: 3 C 3 C
Run Code Online (Sandbox Code Playgroud)

因此,每一行基本上都与整个数据表绑定在一起。最有效的方法是什么?可以仅使用data.table语法完成此操作吗?

谢谢!

编辑:data.table的CJ方法确实建立了笛卡尔乘积,但仅用于向量,而不是表。

join r data.table

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

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

将大型数据框转换为 3 列

数据

df <- data.frame(a=c(1,1,1,1), b1=c(0,0,0,0), b2=c(0,0,0,0),c1=c(0,0,1,0), 
                 c2=c(0,1,0,0), e=c(0,0,0,0), d=c(0,0,0,0))
Run Code Online (Sandbox Code Playgroud)
  a b1 b2 c1 c2 d e
1 1 0   0 0  0  0 0
2 1 0   0 0  1  0 0
3 1 0   0 1  0  0 0
4 1 0   0 0  0  0 0
Run Code Online (Sandbox Code Playgroud)

我怎样才能将这些转换成 3 列变成 ab=a * sum(contains("b")) ac=a * (sum(contains("c")))

我正在寻找类似的东西 transmute(df, ab=a*(sum(b1+b2)), ac=a*(sum(c1+c2)), aothers=a*(sum (!contains ("a" | "b" | "c")))

AB: a * sum(any col that contains "b")

交流: a * sum(any …

r tidyverse

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

如何使用 rvest 从网页中提取选择性数据?

我一直在尝试使用来自Pitchfork https://pitchfork.com/reviews/albums/us-girls-heavy-light/ 的rvest in r 来显示这首歌的评论评级。在这种情况下,它是 8.5。但不知何故我得到了这个: 在此处输入图片说明

这是我的代码

library(rvest)
library(dplyr)
library(RCurl)
library(tidyverse)

URL="https://pitchfork.com/reviews/albums/us-girls-heavy-light/"

webpage = read_html(URL)


cat("Review Rating")
webpage%>%
   html_nodes("div span")%>%
   html_text
Run Code Online (Sandbox Code Playgroud)

html r web-scraping rvest

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

使用列名向量对 data.frame 或 data.table 进行排序

我有一个data.framedata.table实际上是一个)我需要按多列排序。要排序的列的名称在一个向量中。我该怎么做?例如

DF <- data.frame(A= 5:1, B= 11:15, C= c(3, 3, 2, 2, 1))
DF
  A  B C
  5 11 3
  4 12 3
  3 13 2
  2 14 2
  1 15 1

sortby <- c('C', 'A')

DF[order(sortby),] ## How to do this?
Run Code Online (Sandbox Code Playgroud)

所需的输出如下,但使用sortby向量作为输入。

DF[with(DF, order(C, A)),]
  A  B C
  1 15 1
  2 14 2
  3 13 2
  4 12 3
  5 11 3
Run Code Online (Sandbox Code Playgroud)

( 的解决方案data.table是可取的。)

编辑:如果基本 R 或 data.table 不需要太多编码,我宁愿避免导入其他包。

sorting r dataframe data.table

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

geom_text和分组

这是一段ggplot2代码,从样本中绘制一组4个密度:

library('reshape')
library('ggplot2')
data <- matrix(0,5,100)
for(i in seq(1,5,1)){
  data[i,] <- rnorm(100,i,1)
}
df <- data.frame(melt(data))
g <- ggplot(data=df, aes(x=value,group=X1)) + 
  geom_density(fill="blue",alpha=0.5)
g
Run Code Online (Sandbox Code Playgroud)

我想在每个顶部添加密度的"索引".我尝试了很多东西,包括:

g + geom_text(aes(label=X1,y=0.5,group=X1));
Run Code Online (Sandbox Code Playgroud)

哪个不能给我我所期望的但是每个样本的密度指数(因为它忽略了"组"参数).我肯定错过了什么但是什么?

r ggplot2 geom-text

0
推荐指数
1
解决办法
2954
查看次数

如何循环不同目录中的文件

我想循环遍历多个文件并将一个函数应用于它们.问题是这些文件都是不同的,但命名相似的目录.路径模式类似,但数量根据其所属的家庭而变化.

例如,我的代码编写如下:

for(i in 1:numfiles) {
    olddata <- read.table(paste("/home/smith/Family", i, "/Family", i, ".txt", sep="\t"),
                          header=T)      
    # FUNCTION GOES HERE

    write.table(newdata,
                paste("/home/smith/Family", i, "/Family", i, "test.txt",
                      sep = ",", quote=F, row.names=F)
}
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是家庭号码不按数字顺序排列.有些标记只是一个号码(例如:2)等都有附加到这个数字一个字母(例如:1a)

在每个族子目录(即Family i)中,我想在同一个文件中调用(文件名完全相同,但数字(i)根据它所引用的族来改变).我想循环这些特定的文件.例如......对于家庭1a,文件在这里:"/ home /smith/Family1a/Family1a.txt"但是对于家庭2,文件在这里:"/ home /smith/Family2/Family2txt".

另外,R不喜欢我的使用numfiles.

loops r

0
推荐指数
1
解决办法
6718
查看次数