R问题。生成变量,后跟数据帧中的数字后缀[重复]

问题描述 投票:0回答:2

如何通过在函数中输入数字来生成如下所示的变量(在这种情况下为5)?

  rank  DATE  OP
1    1 DATE1 OP1
2    2 DATE2 OP2
3    3 DATE3 OP3
4    4 DATE4 OP4
5    5 DATE5 OP5
> 

哪个是最简单的方法?

r
2个回答
0
投票

这里是使用paste0的基本R解决方案:

df <- cbind(df[1],sapply(names(df)[-1], paste0, 1:nrow(df)))

诸如此类

> df
  rank  DATE  OP
1    1 DATE1 OP1
2    2 DATE2 OP2
3    3 DATE3 OP3
4    4 DATE4 OP4
5    5 DATE5 OP5

DATA

df <- structure(list(rank = 1:5, DATE = c(NA, NA, NA, NA, NA), OP = c(NA, 
NA, NA, NA, NA)), class = "data.frame", row.names = c(NA, -5L
))

0
投票

您可以使用paste0

create_df <- function(n){
  data.frame(rank = 1:n, DATE = paste0("DATE", 1:n), OP = paste0("OP", 1:n))
}
create_df(5)
© www.soinside.com 2019 - 2024. All rights reserved.