使用粘贴在数据集中自动命名

Automatic name in dataset using paste

我想使用 pastepaste0 自动将姓名放入数据集中。例如,如果我们考虑一个包含三个变量的数据集,我们有六列,预期结果是

dta <- data.frame(matrix(1:60, ncol = 6))
names(dta) <- c('X1_dim1', 'X1_dim2', 'X2_dim1', 'X2_dim2', 'X3_dim1', 'X3_dim2')

使用rep

paste0("X", rep(1:ncol(dta), each = 2, length.out = ncol(dta)), "_dim", 1:2)
#[1] "X1_dim1" "X1_dim2" "X2_dim1" "X2_dim2" "X3_dim1" "X3_dim2"

rep 生成长度为 ncol(dta) 的序列,每个元素重复两次

rep(1:ncol(dta), each = 2, length.out = ncol(dta))
#[1] 1 1 2 2 3 3