![](/img/trans.png)
[英]Extracting a specific type columns and specific named columns from a data frame-R
[英]Need an R function for choosing specific named columns from a data frame
我對R相對較新。我有一個數據集,我已通過軟件包xlsx將其導入R中,並通過“ 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")
我解釋了您的問題,以刪除所有缺少/ NA值的列。 這是一種解決方案-如果您的數據實際上不是NA
則可能需要修改匿名函數。
該函數的要旨是,我們為my_mtcars
每一列創建一個布爾值(TRUE / FALSE),該布爾值對應於所有條目是否均為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
由reprex軟件包 (v0.2.1)創建於2019-01-12
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.