Замена последних n строк столбца в кадре данных значениями из столбца в меньшем кадре данных - PullRequest
1 голос
/ 04 августа 2020

Допустим, у меня есть 2 отдельных фрейма данных, один с 10 строками данных и один с 5 строками данных. Скажем, я хочу заменить последние 5 строк данных в определенном c столбце фрейма данных 1 значениями из определенного c столбца фрейма данных 2. Как я могу go сделать это?

Для простоты предположим, что в этом примере есть два фрейма данных всего по 1 столбцу

vect1<- c(1:10)
vect2<- c(11:15)

as.data.frame(vect1)
as.data.frame(vect2)

Как бы я go заменил последние 5 значений в векторе 1 на 5 значений в векторе 2 ? Таким образом, результат будет 1, 2, 3, 4, 5, 11, 12, 13, 14, 15. Любая помощь приветствуется!

Ответы [ 3 ]

1 голос
/ 04 августа 2020

У вас работает?

> vect1_df <- data.frame(vect1)
> vect2_df <- data.frame(vect2)
> vect1_df$vect1[6:10] <- vect2_df$vect2
> vect1_df
   vect1
1      1
2      2
3      3
4      4
5      5
6     11
7     12
8     13
9     14
10    15
1 голос
/ 04 августа 2020
vect1<- c(1:10)
vect2<- c(11:15)


vect1[6:10] = vect2

Это приведет к замене последних 5 di git vect1 на vect2

> vect1
 [1]  1  2  3  4  5 11 12 13 14 15
1 голос
/ 04 августа 2020

Мы можем использовать replace при указании индекса строки с помощью tail, чтобы заменить эти элементы вторым вектором

vec1new <- replace(vect1, tail(seq_along(vect1), 5), vect2)
vec1new
#[1]  1  2  3  4  5 11 12 13 14 15
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...