Изменение элементов столбцов в data.frame - PullRequest
3 голосов
/ 19 сентября 2019

это мой фрейм данных:

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

На самом деле, я знаю, как это сделать, но это не элегантный способ.

Любойпомочь?

Ответы [ 2 ]

3 голосов
/ 19 сентября 2019

Опцией является rbind набор данных путем удаления первой строки с последней строкой набора данных

rbind(df[-1, ], df[nrow(df),])

или с использованием индекса

df[c(2:nrow(df), nrow(df)),]
2 голосов
/ 19 сентября 2019

Вот пример.Хотелось бы узнать, что вы подразумеваете под элегантностью?Вы имеете в виду получить читаемый код?меньше строк кода?лучшая производительность?

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],]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...