当前位置: 首页 > 编程笔记 >

如何在R数据帧中将列从其他位置移动到第一位置?

葛念
2023-03-14
本文向大家介绍如何在R数据帧中将列从其他位置移动到第一位置?,包括了如何在R数据帧中将列从其他位置移动到第一位置?的使用技巧和注意事项,需要的朋友参考一下

在处理大型数据集时,R数据框中列的位置特别重要。由于第一列首先出现,因此有必要按顺序排列数据框的列,以帮助我们轻松查看重要的列。为此,我们可能要更改列的位置。要将列的位置更改为第一个位置,我们可以使用单个方括号。

示例

请看以下数据帧-

set.seed(99)
> x1<-rnorm(20)
> x2<-rpois(20,10)
> x3<-rpois(20,5)
> x4<-runif(20,1,5)
> x5<-sample(1:5,20,replace=TRUE)
> x6<-LETTERS[1:20]
> df<-data.frame(x1,x2,x3,x4,x5,x6)
> df
x1 x2 x3 x4 x5 x6
1 0.2139625022 13 3 3.750865 3 A
2 0.4796581346 12 2 2.381080 2 B
3 0.0878287050 9 4 3.360354 3 C
4 0.4438585075 8 2 1.559041 3 D
5 -0.3628379205 10 7 1.631011 3 E
6 0.1226740295 11 2 2.877371 1 F
7 -0.8638451881 12 7 4.636257 3 G
8 0.4896242667 8 3 2.198420 4 H
9 -0.3641169125 5 5 4.987447 2 I
10 -1.2942420067 9 3 3.608834 2 J
11 -0.7457690454 8 3 2.349861 1 K
12 0.9215503620 11 9 1.992435 2 L
13 0.7500543504 13 5 1.754099 5 M
14 -2.5085540159 14 4 1.908080 2 N
15 -3.0409340953 13 1 2.406410 1 O
16 0.0002658005 11 2 2.741166 1 P
17 -0.3940189942 9 7 4.956848 4 Q
18 -1.7450276608 16 6 2.818134 5 R
19 0.4986314508 10 2 3.686916 2 S
20 0.2709537888 4 6 2.313132 4 T

假设我们要将列6(x6)的位置更改为位置1,则可以如下所示进行操作-

> df<-df[,c(6,1,2,3,4,5)]
> df
x6 x1 x2 x3 x4 x5
1 A 0.2139625022 13 3 3.750865 3
2 B 0.4796581346 12 2 2.381080 2
3 C 0.0878287050 9 4 3.360354 3
4 D 0.4438585075 8 2 1.559041 3
5 E -0.3628379205 10 7 1.631011 3
6 F 0.1226740295 11 2 2.877371 1
7 G -0.8638451881 12 7 4.636257 3
8 H 0.4896242667 8 3 2.198420 4
9 I -0.3641169125 5 5 4.987447 2
10 J -1.2942420067 9 3 3.608834 2
11 K -0.7457690454 8 3 2.349861 1
12 L 0.9215503620 11 9 1.992435 2
13 M 0.7500543504 13 5 1.754099 5
14 N -2.5085540159 14 4 1.908080 2
15 O -3.0409340953 13 1 2.406410 1
16 P 0.0002658005 11 2 2.741166 1
17 Q -0.3940189942 9 7 4.956848 4
18 R -1.7450276608 16 6 2.818134 5
19 S 0.4986314508 10 2 3.686916 2
20 T 0.2709537888 4 6 2.313132 4

同样,我们可以在位置上进行更多更改,如下所示-

> df<-df[,c(6,2,3,5,1,4)]
> df
x5 x1 x2 x4 x6 x3
1 3 0.2139625022 13 3.750865 A 3
2 2 0.4796581346 12 2.381080 B 2
3 3 0.0878287050 9 3.360354 C 4
4 3 0.4438585075 8 1.559041 D 2
5 3 -0.3628379205 10 1.631011 E 7
6 1 0.1226740295 11 2.877371 F 2
7 3 -0.8638451881 12 4.636257 G 7
8 4 0.4896242667 8 2.198420 H 3
9 2 -0.3641169125 5 4.987447 I 5
10 2 -1.2942420067 9 3.608834 J 3
11 1 -0.7457690454 8 2.349861 K 3
12 2 0.9215503620 11 1.992435 L 9
13 5 0.7500543504 13 1.754099 M 5
14 2 -2.5085540159 14 1.908080 N 4
15 1 -3.0409340953 13 2.406410 O 1
16 1 0.0002658005 11 2.741166 P 2
17 4 -0.3940189942 9 4.956848 Q 7
18 5 -1.7450276608 16 2.818134 R 6
19 2 0.4986314508 10 3.686916 S 2
20 4 0.2709537888 4 2.313132 T 6
 类似资料:
  • 问题内容: 我很难弄清楚如何移动数组元素。例如,给出以下内容: 我为什么能写入移动功能之前? 还是之后? 移动后,应更新其余元素的索引。这意味着在第一个示例中,移动后arr [0] =’a’,arr [1] =’d’arr [2] =’b’,arr [3] =’c’,arr [4] = ‘e’ 这似乎应该很简单,但是我无法将其包裹住。 问题答案: 如果您想在npm上使用一个版本,则array-mo

  • 问题内容: 我正在用seaborn。 除了图例放错了位置之外,该图还不错:右边太多了,文本超出了图的阴影区域。 我如何使图例在其他地方(例如,左上角而不是右中角)放置? 问题答案: 以@ user308827的答案为基础:您可以在factorplot中使用并通过matplotlib指定图例:

  • 我想将一列索引为“length”,并使其成为我的第二列。它目前作为第5列存在。我试过: 我看到以下错误: TypeError:必须是str,而不是list 我不确定如何解释这个错误,因为它实际上应该是一个

  • 问题内容: Hibernate配置文件(.hbm.xml)的理想位置是 但我想将这些配置设置放在其他位置,例如 我怎样才能做到这一点? 如果我将配置文件放在该位置,并且启动了Tomcat,则在加载该配置时会出现错误提示 找不到hibernate.cfg.xml 问题答案: 要配置文件的位置,请使用而不是在创建时。 要配置文件的位置,请使用。 也可以看看: Java文档

  • 我有两个实体:矩阵和数据帧。矩阵在所有单元格中都有数字。第二个数据帧在几个单元格中有NA。如何确保第一个矩阵的NA与后一个数据帧中的NA处于相同的精确位置。 我试着完成。case()和na。省略,但不幸的是,这将一起删除行。我尝试了一个for循环,它先按列迭代,然后按行迭代,检查单元格的位置是否为零,并返回位置,然后将该位置反馈到indp数据帧中-得到一些关于维度的错误: 贯穿我的逻辑。这将一次迭

  • 问题内容: 我想将文件从Java中的一个位置复制到另一位置。做这个的最好方式是什么? 这是我到目前为止的内容: 这不会复制文件,执行此操作的最佳方法是什么? 问题答案: 您可以使用此(或任何变体): 另外,我建议您使用或代替使其兼容于多个操作系统. 由于您不确定如何临时存储文件,因此请查看: 要将a 个文件移动到单个目录中: