Нужна функция R для выбора определенных именованных столбцов из фрейма данных - PullRequest
0 голосов
/ 12 января 2019

Я относительно новичок в R. У меня есть набор данных, который я импортировал в R через пакет xlsx и отфильтровал по столбцу randomAssignment. Однако во вновь создаваемых фреймах данных (таких как ABCD, CDEF и т. Д.) Есть столбцы с пустыми строками; Я хочу удалить эти столбцы. Каков наилучший / самый быстрый подход для этого?

require(xlsx)
require(tidyr)
require (dplyr)
require(tidyverse)

#IMPORT XLSX DATA INTO R USING XLSX PACKAGE
originalData <- read.xlsx("C:/Users/help/Desktop/GetTestedMessageTesting_FinalRawData_12292018.xlsx", 1, header = TRUE, colIndex = NULL, as.data.frame = TRUE)

ABCD <- filter (originalData, randomAssignment == "ABCD")
EFGH <- filter (originalData, randomAssignment == "EFGH")
IJKL <- filter (originalData, randomAssignment == "IJKL")
MNOP <- filter (originalData, randomAssignment == "MNOP")
QRST <- filter (originalData, randomAssignment == "QRST")
UVWX <- filter (originalData, randomAssignment == "UVWX")
CDEF <- filter (originalData, randomAssignment == "CDEF")
YZAB <- filter (originalData, randomAssignment == "YZAB")

1 Ответ

0 голосов
/ 13 января 2019

Я интерпретировал ваш вопрос, чтобы удалить столбцы, в которых отсутствуют все значения / NA. Вот одно решение - вам может потребоваться изменить анонимную функцию, если ваши данные на самом деле не NA.

Суть функции в том, что мы создаем логическое значение (ИСТИНА / ЛОЖЬ) для каждого столбца my_mtcars, которое соответствует ВСЕМ элементам NA, и мы отрицаем это для возврата этого столбца.

#create copy of mtcars
my_mtcars <- mtcars
#set hp to NA
my_mtcars$hp <- NA
#filter out columns that are all NA
head(my_mtcars[, sapply(my_mtcars, function(x) !all(is.na(x)))])
#>                    mpg cyl disp drat    wt  qsec vs am gear carb
#> Mazda RX4         21.0   6  160 3.90 2.620 16.46  0  1    4    4
#> Mazda RX4 Wag     21.0   6  160 3.90 2.875 17.02  0  1    4    4
#> Datsun 710        22.8   4  108 3.85 2.320 18.61  1  1    4    1
#> Hornet 4 Drive    21.4   6  258 3.08 3.215 19.44  1  0    3    1
#> Hornet Sportabout 18.7   8  360 3.15 3.440 17.02  0  0    3    2
#> Valiant           18.1   6  225 2.76 3.460 20.22  1  0    3    1

Создано в 2019-01-12 пакетом представ. (v0.2.1)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...