首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在时间序列中命名行

在时间序列中命名行
EN

Stack Overflow用户
提问于 2013-09-16 03:59:45
回答 3查看 1K关注 0票数 1

我的问题很简单。我想命名时间序列(两个时间序列)数据的行,以便每个行名重复两次,但用"-1“和"-2”分隔它们,使其看起来像这样:

代码语言:javascript
运行
复制
1-1  7.116864
1-2  6.898450
2-1  7.224002
2-2  6.993221
3-1  7.266787
3-2  7.483816
4-1  8.055825
4-2  7.993788
5-1 8.895424
5-2 9.097769
7-1  7.116864
7-2  6.898450
10-1  7.224002
10-2  6.993221

我知道我可以很容易地使用像这样的do.NULL为矩阵矩阵命名行,但是这里我的第一个问题是

对于从t1-1,1-2到t5-1和5-2两个时间序列,如何按上面所示顺序命名?

其次,我还可以选择其他任意行并以相同的方式命名它们吗?例如,第7和第10个时间序列?

EN

回答 3

Stack Overflow用户

发布于 2013-09-16 04:38:08

不清楚你想要做什么,因为你没有给出一个可重复的例子。我认为您可以使用paste创建行名,然后使用rbindorder合并它们。例如:

代码语言:javascript
运行
复制
set.seed(1)
t1 <- as.matrix(rnorm(5))
t2 <- as.matrix(rnorm(5))
rownames(t1) <- paste(1:5,1,sep='-')
rownames(t2) <- paste(1:5,2,sep='-')

然后使用rbind合并矩阵并对其进行排序:

代码语言:javascript
运行
复制
tt <- rbind(t1,t2)
tt[order(rownames(tt)),,drop=FALSE]

          [,1]
1-1 -0.6264538
1-2 -0.8204684
2-1  0.1836433
2-2  0.4874291
3-1 -0.8356286
3-2  0.7383247
4-1  1.5952808
4-2  0.5757814
5-1  0.3295078
5-2 -0.3053884
票数 1
EN

Stack Overflow用户

发布于 2013-09-16 04:48:42

下面是我的实现:

代码语言:javascript
运行
复制
# length of your time series vector
n <- 20
# simulate the values of the series vector
x <- matrix(rnorm(n,5,0.5),nr=n,nc=1)
# assign the rownames to the matrix
rownames(x) <- c(t(cbind(paste(1:(n/2),"1",sep="-"),
                         paste(1:(n/2),"2",sep="-"))))

# > x
#          [,1]
# 1-1  5.582177
# 1-2  5.320359
# 2-1  4.958729
# 2-2  4.630183
# 3-1  5.357314
# 3-2  4.287579
# 4-1  4.664101
# 4-2  5.299628
# 5-1  5.480967
# 5-2  5.368158
# 6-1  4.697664
# 6-2  5.191149
# 7-1  4.418201
# 7-2  4.399364
# 8-1  4.845039
# 8-2  4.785453
# 9-1  5.933396
# 9-2  4.035960
# 10-1 4.539947
# 10-2 4.162826
票数 1
EN

Stack Overflow用户

发布于 2013-09-16 04:49:42

只需使用rep和paste命令的组合,如下所示:

代码语言:javascript
运行
复制
# simulate your data
m <- matrix(runif(20,6,10))
# give names to rows
rownames(m) <- paste(rep(1:(nrow(m)/2), each=2), rep(1:2, nrow(m)/2), sep="-")
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18816897

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档