如何在列之间交换数据?

时间:2018-12-18 14:11:48

标签: r dataframe vector swap

假设我有以下数据:

vec1 <- c(1,2,3,4,5,NA,16,17,18,19,20)
vec2 <- c(11,12,13,14,15,NA,6,7,8,9,10)
sample_df <- as.data.frame(vec1)
sample_df$vec2 <- vec2

当我打印sample_df时,收到以下输出:

    vec1 vec2
1     1   11
2     2   12
3     3   13
4     4   14
5     5   15
6    NA   NA
7    16    6
8    17    7
9    18    8
10   19    9
11   20   10

假设我希望输出如下:

   vec1 vec2
1     1   11
2     2   12
3     3   13
4     4   14
5     5   15
6    NA   NA
7     6   16
8     7   17
9     8   18
10    9   19
11   10   20

在不编辑任何矢量的情况下如何做到这一点?

1 个答案:

答案 0 :(得分:1)

在指定值时,我们指定行索引并反转列的顺序

sample_df[7:11, ] <- sample_df[7:11, rev(seq_along(sample_df))]