我们正在尝试将730个零值放在一个365 X 1向量的前面。我从另一个矩阵中切出了这个向量。因此,行索引号现在不再有帮助,也不再令人困惑,例如向量和值从50开始。如果我创建另一个具有零值的向量或数组,然后使用rbind将其绑定到向量和值之前,它将生成奇怪的值,这是由于混淆了行索引号,并将其作为3d元素处理。
感谢您的任何想法,如何实现这一点或如何重置行索引号。最佳法比安!
示例:这是我的向量和值
pred_mean_temp
366 -3.0538333
367 -2.8492875
368 -3.1645825
369 -3.5301074
370 -1.2463058
371 -1.7036682
372 -2.0127239
373 -2.9040319
....
我想添加一个前面有730行的零向量。所以它应该看起来像这样:
1 0
2 0
....
731 -3.0538333
732 -2.8492875
733 -3.1645825
....
发布于 2012-06-20 07:19:16
像这样的东西?
# create a vector
a <- rnorm(730)
# add the 0
a <- c(rep(0,730), a)
然后你可以做一个矩阵:
m <- cbind(1:length(a), a)
发布于 2012-06-20 07:20:48
您需要使用c()
函数来连接两个向量。要创建一个包含零的向量,请使用rep()
下面是一个示例:
x <- rnorm(5)
x <- c(rep(0, 5), x)
x
[1] 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.1149446 0.3839601 -0.5226029 0.2764657 -0.4225512
发布于 2012-06-20 07:50:54
根据您的示例,您的向量似乎具有matrix
类。如果这是一个要求,则应执行以下操作:
set.seed(1)
# Create an example 2-column, 500-row matrix
xx<-matrix(rnorm(1000,-2),ncol=2,dimnames=list(1:500,
c("pred_mean_temp","mean_temp")))
# Subset 365 rows from one column of the matrix, keeping the subset as a matrix
xxSub<-xx[50:(50+365-1),"pred_mean_temp",drop=FALSE]
xxSub[1:3,,drop=FALSE]
# pred_mean_temp
# 50 -1.118892
# 51 -1.601894
# 52 -2.612026
# Create a matrix of zeroes and rbind them to the subset matrix
myMat<-rbind(matrix(rep(0,730)),xxSub)
# Change the first dimnames component (the row names) of the rbinded matrix
dimnames(myMat)[[1]]<-seq_len(nrow(myMat))
myMat[c(1:2,729:733),,drop=FALSE]
# pred_mean_temp
# 1 0.000000
# 2 0.000000
# 729 0.000000
# 730 0.000000
# 731 -1.118892
# 732 -1.601894
# 733 -2.612026
https://stackoverflow.com/questions/11114356
复制相似问题