这是我的矩阵:
df <- data.frame(matrix(1:25,5))
X1 X2 X3 X4 X5
1 1 6 11 16 21
2 2 7 12 17 22
3 3 8 13 18 23
4 4 9 14 19 24
5 5 10 15 20 25
我想将rev()应用于第1行#3和第5行的某些特定行。 这是我想得到的结果:
X1 X2 X3 X4 X5
1 21 16 11 6 1
2 2 7 12 17 22
3 23 18 13 8 3
4 4 9 14 19 24
5 25 20 15 10 5
我知道如何对每一行使用rev()来获得反转系列。例如,rev(df [1,])适用于每一行。请告诉我如何将rev()应用于某些特定行并获得所需的矩阵。
感谢。
答案 0 :(得分:5)
这可以通过提取所需的行,将它们反转,然后将它们写回到同一位置来实现:
df[c(1,3,5),]=rev(df[c(1,3,5),])
答案 1 :(得分:1)
或使用data.table
library(data.table)
setDT(df)[c(1,3, 5), names(df) := rev(.SD)]