데이터 프레임을 이름으로 드롭합니다 열

I have a 열 수 있는 데이터 프레임을 제거하기 위해 싶다. 내가 알고 있는 우리는 다음과 같은 항목을 통해 개별적으로 삭제할 수 있습니다.

df$x <- NULL

하지만 제가 이렇게 적은 명령의세 찾을 수 있을 것으로 기대하고 있다.

또한, 내가 알고 있는 정수 인덱스화를 드롭합니다 사용하여 다음과 같은 열 수 있어요

df <- df[ -c(1, 3:6, 12) ]

하지만 나는 내 변수를 우려하고 상대적 위치가 바뀔 수 있다.

얼마나 강력한 R 은 보다 더 나은 방법이 될 수 있다는 점을 감안할 때, 각 열의 드롭하기 하나씩 있다고 생각했어요.

질문에 대한 의견 (2)
해결책

간단한 이름들을 사용할 수 있습니다.


DF 
해설 (6)

또한 '명령' 서브셋 there& # 39 의 유용한 알고 있다면 어떤 열을 운영까지도:


df 
해설 (10)
within(df, rm(x))

는 아마 쉽게 충족하거나, 다양한 변수.

within(df, rm(x, y))

39 의 경우, re 다루는 ' (https://stackoverflow.com/q/9202413) 또는 you& 데이타스터블 (당):

dt[, x := NULL]   # Deletes column x by reference instantly.

dt[, !"x"]   # Selects all but x into a new data.table.

여러 변수를 충족하거나

dt[, c("x","y") := NULL]

dt[, !c("x", "y")]
해설 (6)

'이렇게' %in% 사용할 수 있습니다.

df[, !(colnames(df) %in% c("x","bar","foo"))]
해설 (3)

목록 (NULL) 역시 작동합니다.


dat 
해설 (6)

복사 방지 및 내부 열을 확인표시를 분리하십시오 참조별로 데이타이프럼스 아니했어야 '' 다음 '패키지' = '' 데이타스터블 그 기능을 사용할 수 있습니다.

문자 벡터입니다 이름을 전달할 수 있습니다. = '운영자, 왼쪽에' 우 'NULL' 이 있다.


library(data.table)

df 
해설 (0)

잠재적으로 더 강력한 전략 () 는 그 사실을 근거로 반환되므로 그렙 숫자 결정한다. 긴 목록의 경우 중 하나로, 어떤 변수가 변수로 나는한다 내 데이터세트를 끝나는 &quot .A"; 그리고 다른 끝나는 것을 &quot .B"; 진실이며당신이 국한됨 다운로드하려는 끝나는 것을 수준들과 &quot .A"; (함께 있는 모든 변수에 don& # 39, 패턴, 이렇게 인컨텍스트 해당되어서는 t:


dfrm2 
해설 (1)

'다른' 드프리르 대답. Com/go/4e6b330a_kr 경우 몇 가지 일반적인 명명 구조를 가질 수 있습니다 '시도하시겠습니까 starts_with ()'. 예를 들어


library(dplyr)
df 
해설 (1)

DF 
해설 (0)

39 의 최대 관심 중 하나는 이 플래그를 아웃해야 R& 여러 구문을 이상한 불일치. 예를 들어 주어진 두 개의 단으로 구성된 데이터 프레임을:


df 
해설 (0)

또다른 가능성을:


df 
해설 (2)
  • 드프리르 솔루션 *

하지만 내가 이 주목을 받게 될 경우 다시 여기로 열 바뀌엇어요 보기할 제거 및 할 때는 내가 사용하는 드프리르 체인 () '를' a '' 그 '선택' one_of 절:

다음은 간단한 레프로두카브레 예:


undesired 
해설 (2)

이것은 '대한' 드프리르 갈 길 없다.

#df[ -c(1,3:6, 12) ]  # original
df.cut % select(-col.to.drop.1, -col.to.drop.2, ..., -col.to.drop.6)  # with dplyr::select()

맘에 드는 it& # 39 의 직관적인 &amp 읽을 수 있기 때문이다. 이해할 수 없는 강력한 열을 내 위치 변경 주석 및 데이터 프레임을. 또한 벡터화된 관용구 요소를 제거하기 위해 '-' 를 사용하여 다음과 같다.

해설 (2)

난 계속 생각하고 있으나, 빼기, 내가 더 있어야 관용구 열 이름으로 다음 작업을 수행할 수 있다.


df 
해설 (2)

39 의 there& 함수 () '가', 's' # 39 라는 트로피나미드 베른트 Bischl& 브미스 패키지이므로 바로 이러한 않습니다.

BBmisc::dropNamed(df, "x")

최대한 피하는 것이 리피팅 데이터 프레임이 인수 및 카타시안 적합한 파이핑이 마그리트르 '에서' (마찬가지로 '' 드프리르 외곽진입):

df %>% BBmisc::dropNamed("x")
해설 (0)

또 다른 솔루션을 사용할 경우, s, t # 39 don& @hadley& # 39 위: 만약 &quot COLUMN_NAME"; 이름은 번째열의 감소했다.

df[,-which(names(df) == "COLUMN_NAME")]
해설 (2)

'선택 (-one_of (drop_col_names)' 에 나와 있는 대답, 그 이전 몇 가지 다른 '' 옵션 '열 ()' 를 사용하여 드프리르 드롭하기 정의중 수반하지 않는 모든 특정 열 이름 (드프리르 스타워즈 샘플링합니다 다양한 데이터를 사용하여 일부 열에 이름):

library(dplyr)
starwars %>% 
  select(-(name:mass)) %>%        # the range of columns from 'name' to 'mass'
  select(-contains('color')) %>%  # any column name that contains 'color'
  select(-starts_with('bi')) %>%  # any column name that starts with 'bi'
  select(-ends_with('er')) %>%    # any column name that ends with 'er'
  select(-matches('^f.+s$')) %>%  # any column name matching the regex pattern
  select_if(~!is.list(.)) %>%     # not by column name but by data type
  head(2)

# A tibble: 2 x 2
homeworld species

1 Tatooine  Human  
2 Tatooine  Droid 
해설 (0)
        • 및 데이터 프레임을 제공하십시오 문자열을 쉼표로 구분된 이름을 지루려면:

remove_features 
해설 (0)

색인입니다 찾을 수 있는 '드롭합니다 운영까지도 열을 사용하여'. 이러한 인덱스화합니다 열거하십시오 음수 기호 ('*-1'). 그리고 이러한 값뿐만 서브셋 되는 다테프라임 제거합니다. 이 대표적이다.


DF 
해설 (0)