我正在尝试翻译具有月份编号的数据框上的一列(一月为 1,二月为 2,依此类推),因此我想将这些数字转换为西班牙语月份名称。首先我试过:
df$month <- month.name[df$month]
Run Code Online (Sandbox Code Playgroud)
这工作正常,但输出显示英文名称。
然后我尝试使用 gsub:
num <- c(1,2,3,4,5,6,7,8,9,10,11,12)
meses <- c("Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio",
"Agosto","Septiembre","Octubre","Noviembre","Diciembre")
gsub2 <- function(pattern, replacement, x, ...) {
for(i in 1:length(pattern))
x <- gsub(pattern[i], replacement[i], x, ...)
x
}
df$month <- gsub2(num, meses,df$month)
Run Code Online (Sandbox Code Playgroud)
但是使用此代码,我的输出如下:
"Enero" "Febrero" "Marzo" "Abril" "Mayo"
"Junio" "Julio" "Agosto" "Septiembre" "Enero0" "EneroEnero" "EneroFebrero"
Run Code Online (Sandbox Code Playgroud)
我知道发生了什么,但我不知道如何解决它。提前致谢。
编辑:
df$month <- c(1, 2, 3, 4, 5, 6 ,7, 8, 9, 10, 11, 12)
Run Code Online (Sandbox Code Playgroud) 我有以下字符串:
"Title\nToday 1,239 €\nYesterday 1,2 €\n17/04/2018 1,2 €\n14/04/2018 1,2 €\n13/04/2018 1,2 €\n12/04/2018 1,2 €\n11/04/2018 1,2 €\n09/04/2018 1,2 €\n08/04/2018 1,2 €\n07/04/2018 1,2 €"
Run Code Online (Sandbox Code Playgroud)
但我不知道我是否可以从中获取数据帧.我想得到一个包含两列(日期和价格)的数据框,其字符串如下(不需要Title名称):
Date Price
Today 1,239 €
Yesteday 1,2 €
17/04/2018 1,2 €
14/04/2018 1,2 €
13/04/2018 1,2 €
12/04/2018 1,2 €
11/04/2018 1,2 €
09/04/2018 1,2 €
08/04/2018 1,2 €
07/04/2018 1,2 €
Run Code Online (Sandbox Code Playgroud)
这几乎与我可以获得的cat功能相同.但我认为我可以将其转换为数据帧.有任何想法吗?
我做了一个预测时间序列的图。通过以下代码实现:
forecast1 <- HoltWinters(ts, beta = FALSE, gamma = TRUE)
forecast2 <- forecast(forecast1, h = 60)
autoplot(forecast2)
Run Code Online (Sandbox Code Playgroud)
其中“ ts”是时间序列对象。因此,我想添加另一个时间序列,以从我上一次实际观察开始,将预测值与实际值进行比较。我用一个经典的情节实现了这一点,并添加了一条具有实际时间序列的直线。这是我的情节:
如何将这条新线添加到我的第一个绘图中?
我正在编写一个简短的 R 包,其中包含一个函数。该函数返回向量列表。我想使用绘图函数来默认绘制使用其中一些向量完成的绘图,添加线条并添加新参数。
例如,如果我使用该survival包,我可以获得以下信息:
library(survival)
data <- survfit(Surv(time, status == 2) ~ 1, data = pbc)
plot(data) # Plots the result of survfit
plot(data, conf.int = "none") # New parameter
Run Code Online (Sandbox Code Playgroud)
为了尝试制作一个可重现的示例:
f <- function(x, y){
b <- x^2
c <- y^2
d <- x+y
return(list(one = b, two = c, three = d))
}
dat <- f(3, 2)
Run Code Online (Sandbox Code Playgroud)
所以使用plot(dat)我想得到与 相同的结果plot(dat$one, dat$two)。我还想添加一个可以设置为TRUE/ 的(新)参数FALSE。
这可能吗?