【发布时间】:2016-07-12 12:58:49
【问题描述】:
假设我有一个包含许多列和行的数据集。 R 是否有能力引用行,以便我可以像这样切换行?
df1[row:1] <- df1[row:2]
【问题讨论】:
假设我有一个包含许多列和行的数据集。 R 是否有能力引用行,以便我可以像这样切换行?
df1[row:1] <- df1[row:2]
【问题讨论】:
创建一个你喜欢的行索引。也许使用order 创建一个。然后应用它...
> df <- head(mtcars, 3)
> df
mpg cyl disp hp drat wt qsec vs am gear carb
Mazda RX4 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4
Mazda RX4 Wag 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4
Datsun 710 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1
> df[c(3,1,2), ]
mpg cyl disp hp drat wt qsec vs am gear carb
Datsun 710 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1
Mazda RX4 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4
Mazda RX4 Wag 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4
> df[order(df$wt), ]
mpg cyl disp hp drat wt qsec vs am gear carb
Datsun 710 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1
Mazda RX4 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4
Mazda RX4 Wag 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4
【讨论】:
不确定我是否理解您的问题,但由于您的 SO 分数非常低,我还假设您是 R 的初学者。
要在 R 中索引 df 的行,可以使用以下语法:df_name[row_nr,]
这意味着如果你有以下 df:
df1 <- head(ChickWeight)
df1
weight Time Chick Diet
1 42 0 1 1
2 51 2 1 1
3 59 4 1 1
您可以使用第 2 行的值覆盖第 1 行,如下所示:
df1[1,] <- df1[2,]
weight Time Chick Diet
1 51 2 1 1
2 51 2 1 1
3 59 4 1 1
如果要切换到第 1 行和第 2 行,则需要使用辅助/临时变量:
tmp_row <- df1[1,]
df1[1,] <- df1[2,]
df1[2,] <- tmp_row
weight Time Chick Diet
1 51 2 1 1
2 42 0 1 1
3 59 4 1 1
【讨论】: