Повторите строку в столбце таблицы данных - PullRequest
1 голос
/ 31 марта 2020

У меня есть таблица данных, которая включает в себя NA s в некоторых ячейках, как показано ниже. Datatable:

введите описание изображения здесь Однако я хочу повторить 1-ю строку в столбце под названием «Категория» для следующих двух строк, написанных «NA», без каких-либо изменений в других столбцах, которые являются "Numeri c" и "Numeri c .null". То же самое для 4-й строки в категории, повторите это для 5-й и 6-й строк, но без изменений в других столбцах. Новое:

2

Я только учусь программированию на R. Я попробовал функцию повторения. Но я не мог сделать. Пожалуйста, помогите мне.

1 Ответ

0 голосов
/ 31 марта 2020

Мы можем использовать fill из tidyr

library(dplyr)
library(tidyr)
df1 <- df1 %>% 
          fill(Category)
df1
#  Category Numeric Numeric.null
#1        A       1            1
#2        A       2            2
#3        A       3            4
#4        D       4            7
#5        D       5            6
#6        D       6            8
#7        E       7           11

Или использовать data.table с na.locf0

library(data.table)
library(zoo)
setDT(df1)[, Category := na.locf0(Category)][]

data

df1 <- structure(list(Category = c("A", NA, NA, "D", NA, NA, "E"), Numeric = 1:7, 
    Numeric.null = c(1L, 2L, 4L, 7L, 6L, 8L, 11L)), 
    class = "data.frame", row.names = c(NA, 
-7L))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...