这是我的数据框:
df<-as.data.frame(matrix(seq(1:20),5,5))
我需要调整的是该列。基本上,我需要排除第一行,然后向上移动所有列,使最后一行具有重复的值。
听起来很混乱,但结果应该是这样:
V1 V2 V3 V4 V5
1 2 7 12 17 2
2 3 8 13 18 3
3 4 9 14 19 4
4 5 10 15 20 5
5 5 10 15 20 5
实际上,我知道该怎么做,但这不是一个优雅的方法。
有帮助吗?
答案 0 :(得分:3)
通过删除数据集的第一行和最后一行,rbind
是一个数据集
rbind(df[-1, ], df[nrow(df),])
或使用索引
df[c(2:nrow(df), nrow(df)),]
答案 1 :(得分:2)
这里是一个例子。虽然我想知道您所说的优雅?您的意思是获取可读的代码吗?更少的代码行?更好的表现?
library(tidyverse)
df<-as.data.frame(matrix(seq(1:20),5,5))
df <- df %>% slice(-1)
df[dim(df)[1] +1,] <- df[dim(df)[1],]