2015-02-24 2 views
-6

У меня есть набор данных с большим количеством столбцов, я хочу, чтобы подмножество всех строк, но только некоторые столбцы -иза столбец 4 до концаОчень новые в R, Подменят столбцы

myselec<-mydata[ 1, 4:] 

-Некоторых выбранных столбцы, например, 4, 5, 6, 10, 12

Может ли кто-нибудь предложить некоторые предложения, как я могу это сделать в R? Спасибо

ответ

1
#columns 4 to the last one 
myselec<-mydata[ 1, 4 : ncol(mydata)] 

#put the columns you want to keep in a vector 
columnsIWantToKeep <- c(4, 5, 6, 10, 12) 
#subset your DFusing this vector 
myselec<-mydata[1, columnsIWantToKeep] 

То же самое относится к строкам ...

myselec<-mydata[ 4:nrow(mydata),] #get from row 4 to the end 
myselec<-mydata[ c(1,3,5,7),] #get rows 1,3,5,7 

Вы даже можете работать путем исключения: говорят строки, которые вы дон 't хочу и R даст вам всех остальных.

DontWant <- c(1,3,5) 
myselec<-mydata[ -DontWant ,] #note the 'minus' symbol to denote that you wish to exclude these 
0

Оставьте пространство перед запятой пустым, чтобы взять все строки. Проходят вектор позиций столбцов после запятой:

mydata[, c(4,5,6,10,12)]

+0

Не считается * лучше *, чтобы не иметь запятую? – user20650

+0

Лучше? Если вы не оставите запятую, вы только подсетете строки и не возьмете их все – Zelazny7

+2

Попробуйте 'mtcars [c (1, 3, 5)]'. Вы подмножите строки, если вы добавите запятую после – user20650