小编Jos*_*ich的帖子

有没有办法将csv数据粘贴到R而不是从文件中读取?

我目前正在尝试将shinyapp发布到shinyapp.io,但我无法配置我的rdrop2令牌以上传我的数据文件.它是csv形式,我使用app.R. 由于我无法在此处上传令牌,因为担心我的Dropbox完全可以在线使用,我会尽我所能.

我与rdrop2一起使用的功能如下:

token <- drop_auth()
saveRDS(token, "droptoken.rds")
token <- readRDS("droptoken.rds")
drop_acc(dtoken = token)

statadata <- drop_read_csv("/shinyapp/alldata.csv")
g <- na.omit(statadata)
data <- reactive({
  g[1:input$scatterD3_nb,]
})

ui <-  fluidPage(...
Run Code Online (Sandbox Code Playgroud)

当我在RStudio上运行闪亮的应用程序时它完全正常运行但是当我部署应用程序时,它给了我两个错误之一.

ERROR: oauth_listener() needs an interactive environment.
Run Code Online (Sandbox Code Playgroud)

要么

Error in func(fname, ...) : app.R did not return a shiny.appobj object.
Run Code Online (Sandbox Code Playgroud)

当我将它打印到RStudio查看器时,都不会发生错误.

虽然我解决了这个问题,但有一种方法可以通过将csv文件编辑器版本直接复制到r中来简单地创建数据集

read.csv("country,nutsid,year,cyril_index_left,delta_cyril_left,manifesto,cyril_index_abs
,cyril_index,cyril_index_right,delta_cyril_right,Employment_15_64_,Employment_total,youth_employment,L_Employment_total,
L_youth_employment,growth, Austria,AT11,2002,-1017.925,-216.9429,-17.64,72.93657,1017.925,
0,-977.0339,1.1,0.9,0.5,-2.1,-8.9,4.7,Austria,AT11,2006,-923.9658,93.95892,
-4.308,104.4628,923.9658,0,0,0.8,0.4,-1.9,2.5,2.8,1.6", sep = ",")
Run Code Online (Sandbox Code Playgroud)

我真的没有看到任何其他解决方案,因为闪亮无论如何都不会从本地文件读取我的数据.

csv r rstudio shiny

3
推荐指数
2
解决办法
903
查看次数

quantmod :: chartSeries不绘制所有组件

我已经阅读了很多R文档,但我找不到任何我认可的答案.我的额头因敲打桌子而感到酸痛.;)

这是具体的library(quantmod),因为这是我想要学习的东西,但我想这也是一个普遍的问题.

R 2.12.2 GUI 1.36 Leopard构建64位(5691)Mac OS X 10.6.6

我试图quantmodhttp://www.quantmod.com/examples/intro/上复制一个例子的行为

从GUI,一切都很好 - 下面生成一个这样的图表http://www.quantmod.com/examples/intro/AAPL-full.png:

> require(TTR)
> getSymbols("AAPL")
[1] "AAPL"
> chartSeries(AAPL)
> addMACD()
> addBBands()
Run Code Online (Sandbox Code Playgroud)

但是当我source()从GUI获得一个.R文件时,我只得到了图表

> chartSeries(AAPL)
Run Code Online (Sandbox Code Playgroud)

也就是说,只有价格图表和它下面的交易量表.此外,如果我从命令行尝试以下操作,它可以按预期工作.

$ R --no-save `<`quantmod.R
Run Code Online (Sandbox Code Playgroud)

Rplots.pdf生成一个名为的文件,其中包含三个页面.第三页包含价格+成交量+ MACD +布林带.

如何quantmod让生活变得如此困难?或者我不明白这是多么明显,让生活变得如此困难?

我需要做些什么才能使源脚本能够使用图表中的函数addMACD()addBBands()函数?

作为一个附带问题,数据生成addMACD()addBBands()存储在哪里?

r quantmod

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

用于R中向量的循环特定元素

我想运行一个for循环,它只对数据框中某列的特定元素进行计算.元素从矩阵中的相邻列引用.我可以通过直观地观察哪些元素对应于值来做到这一点 - 例如for(i in 1:5){ #在301个元素的列中.但是,我希望能够在没有对元素数字的先验知识的情况下指定它.

例如在以下的数据帧欲在柱的元素运行一个for循环data.LICOR$fluxdata.LICOR$day.night=='d'

   data.LICOR.day.night data.LICOR.flux
1                   d       26.89
2                   d       27.89
3                   d       28.77
4                   d       28.92
5                   d       29.30
6                   n       28.51
7                   n       28.98
8                   n       28.41
9                   n       27.87
10                  n       28.18
Run Code Online (Sandbox Code Playgroud)

这是我之前的代码所做的,通过指定元素1:5和6:10分别对应于day.night ='d'和day.night ='n'

# replace day fluxes
for(i in 1:5){
    if(data.LICOR$flux[i] > av.day.flux+2*sd.day.flux)
      data.LICOR$flux[i] <- av.day.flux
    else if(data.LICOR$flux[i] < av.day.flux-2*sd.day.flux)
      data.LICOR$flux[i] <- av.day.flux 
}

# replace night fluxes
for(i in 6:10){
    if(data.LICOR$flux[i] > av.night.flux+2*sd.night.flux)
      data.LICOR$flux[i] <- …
Run Code Online (Sandbox Code Playgroud)

r

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

as.Date.numeric需要Linux中的原点,而不是Windows.固定?

as.Date(10000)在Windows中运行良好,但在Linux发行版上它出错:'origin' must be supplied.Windows安装有某种默认来源?我正在尝试构建/检查最初在Windows机器上开发的Linux上的软件包.该软件包省略了origin所有地方的参数.有快速解决方案吗?也许是Rprofile.site的补充?

r

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

检查html是否可用

我想知道如何检查html是否可用.如果不是,我想控制返回以避免错误地停止脚本.例如:

arq <- readLines("www.pageerror.com.br")
print(arq)
Run Code Online (Sandbox Code Playgroud)

r

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

R - 从csv到xts的股票市场数据

我在CSV中有这些数据:

Date  ALICORC1 ALT   ATACOBC1 AUSTRAC1 CONTINC1 BVN   DNT
40886 5.8      0.1   0.9      0.28     5.45     38.2  1.11
40889 5.8      0.1   0.88     0.28     5.37     37.7  1.04
40890 5.8      0.09  0.87     0.27     5.33     37.4  0.99
40891 5.7      0.1   0.85     0.27     5.3      37.5  0.91
Run Code Online (Sandbox Code Playgroud)

这些是秘鲁股票市场的股票收盘价,我想将它们转换为xts,所以我可以找到最佳投资组合和其他东西,但我找不到将此CSV转换为xts的方法.我已经查看了许多问题的答案,但没有一个有效.

我得到的一些错误是:

  • 索引在数据行中有XXXX个错误条目
  • 模糊的数据.

有谁能够帮我?

csv r data-manipulation xts

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

R:为什么这个奇怪的 ccf 结果与 xts 数据

我在这里看到您应该drop在将(单列)XTS 对象传递给ccf(互相关)函数时使用。(样本数据比较大,我把它放在一个要点中

library(xts)
gist="https://gist.github.com/raw/3291932"
tmp1=dget(file.path(gist,"e620647218626929b4ee370a05aa7748b2f9a32b/tmp1.txt"))
tmp2=dget(file.path(gist,"49b732db3eafa52f96006e3b1bb0be28380f5df0/tmp2.txt"))
ccf(drop(tmp1),drop(tmp2)) #Weird?
Run Code Online (Sandbox Code Playgroud)

我预计在lag=0 附近会有一个小峰值,两边大部分都是噪音。相反,我得到了一条直线:

所有 400 条柱上的 ccf

那是400个酒吧。我在数千条柱的完整数据上得到了同样的线条。但是如果我只使用该数据的尾端 100 条,我会得到更接近我预期的结果:(50 条看起来更合理)

ccf 仅用于最后 100 根柱线

如果这是一个ccf错误,我使用 xts 对象的方式有问题,我对ccf正在做的事情的误解,或者我神奇地发现了击败股票市场的公式,我有点难倒……

r correlation xts

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

时间序列中的每小时平均值

这是一个包含每小时智能电表数据和freq = 24的时间序列.它是在三天内测量的,所以first day[1:24], second[25:48], third[49:72].

我希望在三天内每小时都能得到平均值.例如:

(t[1]+t[25]+t[49])/3
Run Code Online (Sandbox Code Playgroud)

所以我可以在3天内制作一个24小时的箱形图.

x <- c(0.253, 0.132, 0.144, 0.272, 0.192, 0.132, 0.209, 0.255, 0.131, 
  0.136, 0.267, 0.166, 0.139, 0.238, 0.236, 1.75, 0.32, 0.687, 
  0.528, 1.198, 1.961, 1.171, 0.498, 1.28, 2.267, 2.605, 2.776, 
  4.359, 3.062, 2.264, 1.212, 1.809, 2.536, 2.48, 0.531, 0.515, 
  0.61, 0.867, 0.804, 2.282, 3.016, 0.998, 2.332, 0.612, 0.785, 
  1.292, 2.057, 0.396, 0.455, 0.283, 0.131, 0.147, 0.272, 0.198, 
  0.13, 0.19, 0.257, 0.149, 0.134, 0.251, 0.215, 0.133, 1.755, 
  1.855, 1.938, 1.471, 0.528, 0.842, …
Run Code Online (Sandbox Code Playgroud)

r time-series

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

在xts对象中将字符转换为数字

我希望在以下xts对象中转换为数字所有数字.

Morover,如果可能的话,用同一列中的前一个数字替换NA

library(xts)
x <- structure(c("1176.67", "1175.37", "1196.10", "1182.90", "1200.30", 
"1183.20", "170.0674", "170.0586", NA, "170.1376", "170.1651", 
"170.1844", "252.10", "252.07", "252.07", "252.23", "252.34", 
"252.40", "616.09", "618.49", "620.44", "624.61", "626.66", "627.92", 
"1.44730", "1.44430", NA, "1.43710", "1.44730", "1.44120", "5238.815", 
"5238.458", "5256.423", "5261.352", "5235.514", "5182.277", "5669.918", 
"5673.797", "5668.293", "5677.272", "5613.539", "5608.027", "399.106", 
"398.800", "399.411", "402.521", "400.797", "401.521"), class = c("xts", 
"zoo"), .indexCLASS = c("POSIXct", "POSIXt"), tclass = c("POSIXct", 
"POSIXt"), .indexTZ = "GMT", tzone = "GMT", index = structure(c(1419292800, 
1419379200, 1419552000, 1419811200, 1419897600, 1419984000),
tzone …
Run Code Online (Sandbox Code Playgroud)

r xts

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

将列中的多种日期格式转换为单一形式

我在数据框中有一列,其中包含以多种形式存储的日期信息,例如

dob <- c("18/02/1983","36782","01/11,1999 11:55",
         "Dead 12/12/2001","Alive 03/07/1985")
Run Code Online (Sandbox Code Playgroud)

我想将所有这些转换为POSIXlt格式的日期"%d/%m/%Y",没有时间信息,也没有"Dead"或没有"Alive"前缀。

以前对类似问题的所有解决方案都只涉及两种可能的格式,我可以告诉,而我有更多,而且我还有转换 5 位数字格式日期的问题(我认为是起源于 1970-01-01 的数字日期)来自 Excel)也。我正在使用 R-3.1.2。任何帮助将不胜感激!

r date

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

标签 统计

r ×10

xts ×3

csv ×2

correlation ×1

data-manipulation ×1

date ×1

quantmod ×1

rstudio ×1

shiny ×1

time-series ×1