小编Pie*_*une的帖子

使用dplyr向数据框添加行

我有这个样本数据:

cvar <- c("2015-11-01","2015-11-02","All")
nvar1 <- c(12,10,5)
nvar2 <- c(7,5,6)
data <- cbind.data.frame(cvar,nvar1,nvar2)
Run Code Online (Sandbox Code Playgroud)

我只是想在data.frame中添加一个新行,其中包含nvar1和nvar2的总和以及一个字符,所以使用base RI就可以了

data[nrow(data)+1,] <- c("add",sum(data[,2]),sum(data[,3]))
Run Code Online (Sandbox Code Playgroud)

还是更加聪明的事情,但只是为了告诉你我在寻找什么.

我想在管道环境中使用这个简单的命令,所以数据%>%...给了我上面的结果.

感谢任何帮助,谢谢.

r dplyr

25
推荐指数
4
解决办法
4万
查看次数

热图使用ggmap按值绘制

我试图ggmap通过学校来看待教育成绩.我创建了所有学校的坐标列表和个别学生的分数如下:

     score      lat       lon
3205    45 28.04096 -82.54980
8275    60 27.32163 -80.37673
4645    38 27.45734 -82.52599
8962    98 26.54113 -81.84399
9199    98 27.88948 -82.31770
340     53 26.36528 -81.79639
Run Code Online (Sandbox Code Playgroud)

我首先使用了我参与的大多数教程中的模式:http : //journal.r-project.org/archive/2013-1/kahle-wickham.pdf http://www.geo.ut.ee/ AASA/LOOM02331/heatmap_in_R.html

library(ggmap)
library(RColorBrewer)

MyMap <- get_map(location = "Orlando, FL", 
                 source = "google", maptype = "roadmap", crop = FALSE, zoom = 7)

YlOrBr <- c("#FFFFD4", "#FED98E", "#FE9929", "#D95F0E", "#993404")

ggmap(MyMap) +
stat_density2d(data = s_rit, aes(x = lon, y = lat, fill = ..level.., alpha = ..level..), …
Run Code Online (Sandbox Code Playgroud)

r ggplot2 ggmap

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

将季度/年份格式转换为日期

我创建了一个函数,它将四分之一年格式的向量强制转换为日期向量.

.quarter_to_date(c("Q1/13","Q2/14"))
[1] "2013-03-01" "2014-06-01"
Run Code Online (Sandbox Code Playgroud)

这是我的功能代码.

.quarter_to_date <-
  function(x){
    ll <- strsplit(gsub('Q([0-9])[/]([0-9]+)','\\1,\\2',x),',')

    res <- lapply(ll,function(x){
      m <- as.numeric(x[1])*3
      m <- ifelse(nchar(m)==1,paste0('0',m),as.character(m))
      as.Date(paste(x[2],m,'01',sep='-'),format='%y-%m-%d')

    })
    do.call(c,res)
  }
Run Code Online (Sandbox Code Playgroud)

我的功能很好但看起来很长而且有点复杂.我认为这应该已经在其他包中完成了(lubridate例如)但是我找不到它.有人可以帮我简化这段代码吗?

r date

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

R 库(openxlsx)错误:工作簿没有工作表

我很好奇你们在 R 中阅读 xlsx 文档时是否遇到过类似的错误:

library(openxlsx) 
data = read.xlsx(file, sheet =1, startRow = 2, colNames = FALSE)
Run Code Online (Sandbox Code Playgroud)

即使我的文件有工作表也会发生错误:

Error in read.xlsx.default(file, sheet =1, startRow = 2, colNames = FALSE) : 
  Workbook has no worksheets
Run Code Online (Sandbox Code Playgroud)

当我手动将另一个空工作表添加到我的 xlsx 文件中时,一切正常。但是,我想知道如何解决这个问题,而不需要逐个打开每个 xlsx 文件来添加另一张纸。您知道如何处理吗?先感谢您。

excel r xlsx dataframe

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

有没有办法从auto.arima强制季节性

随着forecast包,我有一个时间序列,我想?auto.arima自动选择订单,但我想强迫季节性.函数的默认值允许将seasonal参数设置为TRUE,但这只允许季节性选项而不是强制.

auto.arima(x, d=NA, D=NA, max.p=5, max.q=5,
     max.P=2, max.Q=2, max.order=5, max.d=2, max.D=1, 
     start.p=2, start.q=2, start.P=1, start.Q=1, 
     stationary=FALSE, seasonal=TRUE,
     ic=c("aicc", "aic", "bic"), stepwise=TRUE, trace=FALSE,
     approximation=(length(x)>100 | frequency(x)>12), xreg=NULL,
     test=c("kpss","adf","pp"), seasonal.test=c("ocsb","ch"),
     allowdrift=TRUE, allowmean=TRUE, lambda=NULL, biasadj=FALSE,
     parallel=FALSE, num.cores=2)
Run Code Online (Sandbox Code Playgroud)

r time-series forecasting

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

将行值添加到 R 中的前一行值

我有一个非常基本的问题,因为我对 R 比较陌生。我想知道如何将列中的值添加到前一个值,并向下重复 1000 个值的列?请注意,我不需要累积和,因此 cumsum 函数没有用。假设我的列称为 WD,我想将 WD1 添加到 WD2,将 WD2 添加到 WD3,将 WD3 添加到 WD4 等等,并将这些总和作为新列输出。有简单的方法吗?非常感谢。

一个可重现的例子:

set.seed(111)
df1 <- data.frame(WD=sample(10))

#result
df1
   WD new
1   6   6
2   7  13
3   3  10
4   4   7
5   8  12
6  10  18
7   1  11
8   2   3
9   9  11
10  5  14
Run Code Online (Sandbox Code Playgroud)

r

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

在 R 中将十六进制格式转换为浮点数

请问有人可以帮我如何将 4 字节十六进制格式转换为 R 中的浮点数吗?例如我想转移"aec7a042"80.39. 经过大量搜索后,我在 R 中找不到任何东西来给我这个转换!C 函数是 BitConverter。至单身。但我需要在 R 中做同样的事情?有人可以帮我吗?

hex r

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

获取矩阵的每一行中的最大值的列索引

我有一个6 x 10矩阵,我必须找到每行中最大值的行索引和列索引.

set.seed(75)
amat <- matrix( sample(10, size=60, replace=T), nrow=6)
Run Code Online (Sandbox Code Playgroud)

这给了我矩阵:

     [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
[1,]    3    6    7    7    2    4    3    7    1     4
[2,]    1    9    8    7    2    6   10    9    5     2
[3,]    7   10    8    4   10    5    4    8    4     4
[4,]    4    3    1    1    3    3    9    7    4     2
[5,]    1    8    1    9    9    8    1    3    7     7
[6,]    2    6 …
Run Code Online (Sandbox Code Playgroud)

r matrix

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

带有公式的函数的正确 dplyr 函数式编程语法是什么

我正在尝试使用 dplyr 函数式编程指南编写一个函数来动态更改变量名称。它适用于大多数 tidyverse 变量替换,但不适用于要评估的函数使用公式时。

一个绘图示例facet_wrap

library(dplyr)
library(ggplot2)

mtcars %>%
  ggplot(aes(hp, mpg)) +
  geom_point() +
  facet_wrap(~cyl)

f <- function(wrap_col) {
  mtcars %>%
  ggplot(aes(hp, mpg)) +
  geom_point() +
  facet_wrap(~ {{ wrap_col }})
}

f(cyl)

# Error in eval_tidy(facet, mask) : object 'cyl' not found
Run Code Online (Sandbox Code Playgroud)

我尝试了上面的简单版本并使用引号"{{ wrap_col }}"和方括号。没有一个对我有用

r dplyr

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

使用额外的回归量预测ARIMA模型

假设我有一些时间序列如下,我想预测c1一步一步,这样做很简单直接在R:

testurl = "https://docs.google.com/spreadsheets/d/1jtpQaSxNY1V3b-Xfa5OJKDCLE6pNlzTbwhSHByei4EA/pub?gid=0&single=true&output=csv"
test = getURL(testurl)
mydata = read.csv(textConnection(test), header = TRUE)
data <- ts(mydata['c1'])
fit <- auto.arima(data)
fcast <- forecast(fit)
fcast
Run Code Online (Sandbox Code Playgroud)

请注意,这些数字只是随机数,auto.arima建议我们使用a arima(0,1,0)和预测一步,一个头是52.

但是,如果想要使用c2c3改进(例如aic和bic)样本预测,该怎么办?那个人怎么会继续呢?

c1   c2     c3
40   0,012  1
41   0,015  1
42   0,025  1
40  ?0,015  1
44   0,000  0
50   0,015  0
52   0,015  1
51   0,020  1
50   0,025  1
52   0,030  0
53   0,045  1
52   0,030  1
52   0,025  0
52   0,000  0
51   0,010 …
Run Code Online (Sandbox Code Playgroud)

r time-series forecasting

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

标签 统计

r ×10

dplyr ×2

forecasting ×2

time-series ×2

dataframe ×1

date ×1

excel ×1

ggmap ×1

ggplot2 ×1

hex ×1

matrix ×1

xlsx ×1