Hoe kan ik een dataframe kolomsgewijs subsetten met kolomnamen?

Ik heb een dataframegemaakt met de naam z.

 a = c(1,1,1);
  b = c(2,2,2);
  c = c(3,3,3);
  d = c(4,4,4);
  z = data.frame(a,b,c,d);

Ik wil kolom c en d uit dataframe z verwijderen.

Ik heb deze code geprobeerd

p = subset(z , colnames(z) == c('a' , 'b'))

Maar ik krijg dit resultaat

a   b   c   d
1   2   3   4   
1   2   3   4 

Welke wijzigingen moet ik aanbrengen in deze opdracht om kolom cen duit zte verwijderen.


Antwoord 1, autoriteit 100%

We kunnen het volgende gebruiken om te specificeren welke kolommen op naam moeten worden geselecteerd.

z[, c("a", "b")]

Dit werkt ook.

z[c("a", "b")]

Of we kunnen het volgende gebruiken om eerst te specificeren welke kolommen in een vector moeten worden verwijderd en vervolgens de kolommen te selecteren die niet in die vector zitten.

cols_remove <- c("c", "d")
z[, !(colnames(z) %in% cols_remove)]

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Other episodes