假设我有一个包含许多列和行的数据集。 R是否能够引用行,以便我可以像这样切换行?
df1[row:1] <- df1[row:2]
答案 0 :(得分:1)
创建您喜欢的行索引。也许使用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
答案 1 :(得分:0)
不确定我是否理解你的问题,但由于你的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