我有一个csv文件,其中一些数值表示为字符串,逗号为千分隔符,例如,"1,513"而不是1513.将数据读入R的最简单方法是什么?
我可以使用read.csv(..., colClasses="character"),但是在将这些列转换为数字之前,我必须从相关元素中删除逗号,我找不到一个巧妙的方法来做到这一点.
我有一个包含多个时间序列返回的数据框,存储在列中.
第一列包含日期,后续列是独立的时间序列,每个列都有一个名称.列标题是变量名称.
## I have a data frame like this
t <- seq(as.Date('2009-01-01'),by='days',length=10)
X <- rnorm(10,0,1)
Y <- rnorm(10,0,2)
Z <- rnorm(10,0,4)
dat <- data.frame(t,X,Y,Z)
## which appears as
t X Y Z
1 2009-01-01 -1.8763317 -0.1885183 -6.655663
2 2009-01-02 -1.3566227 -2.1851226 -3.863576
3 2009-01-03 -1.3447188 2.4180249 -1.543931
Run Code Online (Sandbox Code Playgroud)
我想将每个时间序列绘制成一个单独的图上的一条线,在一个点阵中,每个图用变量名标记.
要使用晶格绘制此图,数据必须采用高格式,如下所示:
t symbol price
1 2009-01-01 X -1.8763317
2 2009-01-02 Y -0.1885183
2 2009-01-02 Z -6.655663
Run Code Online (Sandbox Code Playgroud)
这样做有什么好的函数调用?
我想使用makefile来更新R代码生成的图形文件.R代码位于目录中的各种文件中../R,所有文件都以.R.图文件位于目录中../figs,所有文件都以.pdf或结尾.png.如果R文件的日期晚于任何图形文件,我想用命令处理R文件
R --no-save < file.R
Run Code Online (Sandbox Code Playgroud)
我看了各种示例makefile,但找不到任何我能适应的东西.
我目前的努力(不工作)如下:
PLOTDIR= ../figs
RDIR= ../R
RFILES= $(RDIR)/*.R
PLOTS= *.pdf *.png
FIGURES= $(PLOTDIR)/$(PLOTS)
$(FIGURES): $(RFILES)
R --no-save < $<
Run Code Online (Sandbox Code Playgroud) 在R中创建移动平均线或滚动总和的最有效方法是什么?你如何与"分组"一起进行滚动功能?
嗨,我想知道如何在投影仪环境中调整矩阵的大小。目前我正在编写以下代码:
\begin{align*}
\left( \begin{array}{ccccccc}
0 & 1 & & & & & \\
-1 & 0 & & & & & \\
& & 0 & 1 & & & \\
& & -1 & 0 & & & \\
& & & & \ddots & & \\
& & & & & 0 & 1 \\
& & & & & -1 & 0
\end{array} \right)
\end{align*}
Run Code Online (Sandbox Code Playgroud)
并且矩阵几乎占据了一整页。我希望它的高度约为半页。
必须有一种简单的方法来对R中的后续循环进行矢量化,但我看不到它.
w <- numeric(10)
z <- rnorm(20)
v <- c(sample(1:10,10),sample(1:10,10)) #Random ordering of c(1:10,1:10)
for(i in 1:10)
w[i] <- sum(z[v==i])
Run Code Online (Sandbox Code Playgroud) 我正在使用带有代码的文章类:
\documentclass[12pt]{article}
\begin{document}
\section{Foo}
This is an example of foo.
\section{Bar}
This is an example of bar.
\end{document}
Run Code Online (Sandbox Code Playgroud)
这会产生:
1 Foo
2吧
我想要的是节号后的一段时间:
富
酒吧
我无法改变文章类.我怎么做到这一点?
在R中,我想创建一个带有x轴标签的图形expression(varname),其中varname是一个字符对象.例如:
varname <- "beta[1]"
hist(rnorm(20),xlab=expression(varname))
Run Code Online (Sandbox Code Playgroud)
但这给了我一个图xlab="varname"而不是xlab=expression(beta[1]).如何说服expression()评估变量?
请帮我创建具有以下结构的LaTeX文档
Text
Author
Text
Author
Run Code Online (Sandbox Code Playgroud)
Text是一个左对齐的2-10行的块,而Author是右边对齐的一行,我需要这些Text + Author块始终出现在同一页面上.
当我使用blogdown构建我的站点时,来自Rmd帖子的缓存文件将被复制到公共目录.这是不必要的,浪费空间,并减慢部署速度.
我想我可以用blogdown::build_site()用custom参数来避免这种情况,如果我提供我自己的custom脚本.自定义脚本应该是什么样的?
使用bookdown时,如果我有一个R块,我想显示输出而不是R代码,则pdf输出中缺少默认装饰.
例如,此示例具有格式良好的块(灰色背景,彩色文本等)
```{r test1, echo=TRUE}
1:4
```
Run Code Online (Sandbox Code Playgroud)
但是这个没有任何装饰.
```{r test2, echo=FALSE}
1:4
```
Run Code Online (Sandbox Code Playgroud)
对比度很容易在下面看到.
如何使用灰色背景和彩色文本生成第二个示例?
我有需要分析的高频商品价格数据.我的目标是不假设任何季节性因素,只是确定趋势.这是我遇到R问题的地方.我知道分析这个时间序列有两个主要功能:decompose()和stl().问题是他们都采用频率参数大于或等于2的ts对象类型.有什么方法我可以假设每单位时间的频率为1并且仍然使用R来分析这个时间序列?我担心如果我假设每单位时间的频率大于1,并且使用频率参数计算季节性,那么我的预测将取决于该假设.
names(crude.data)=c('Date','Time','Price')
names(crude.data)
freq = 2
win.graph()
plot(crude.data$Time,crude.data$Price, type="l")
crude.data$Price = ts(crude.data$Price,frequency=freq)
Run Code Online (Sandbox Code Playgroud)
我希望频率为每单位时间1,但然后分解()和stl()不起作用!
dim(crude.data$Price)
decom = decompose(crude.data$Price)
win.graph()
plot(decom$random[2:200],type="line")
acf(decom$random[freq:length(decom$random-freq)])
Run Code Online (Sandbox Code Playgroud)
谢谢.