2013-06-24 3 views
-1

Данные являются конфиденциальными, поэтому, например, это фиктивный фрейм данных.Удаление определенных строк из фрейма данных

i1 i2 o1 
1 72 3.1 69 
2 12 1.1 46 
3 16 2.0 37 
4 16 7.9 70 
5 24 7.0 27 
6 12 9.9 49 

Я хочу разделить этот фрейм данных на 3 кадра данных фиксированных размеров, но строки должны быть выбраны без замены. здесь, скажем, я выбираю случайную часть его использования: -

x=sample(6,3); 
df_part1=df[x,] 

Строки, выбранные случайным образом, являются: -

i1 i2 o1 
4 16 2.0 37 
6 12 9.9 49 
1 72 3.1 69 

Теперь, прежде чем я выбираю 2-ю часть, я хочу, чтобы удалить эти конкретные строк из фрейма данных. Как мне это сделать?

ответ

1

Похоже, что вы действительно хотите, чтобы ваш файл данных, а не удалял строки из него. Если dataframes имеют одинакового размера, и вы хотите три извлекаемые dataframes быть случайными выборками, указать что-то вроде:

split(df, sample(1:3,dim(df)[1],TRUE)) 

, чтобы получить список из трех проб, взаимоисключающие dataframes. Нет необходимости удалять что-либо из исходного фрейма.

Кроме того, если вы хотите, чтобы числовые кадры имели разные размеры, вы можете указать аргумент prob в sample.

0

Вы можете попробовать 1:6 первый, а затем извлекать информацию из перемешиваются 6 номеров:

tmp <- sample(6, 6) 

tmp[1:3], tmp[4:6] даст вам информацию, и вы можете идти оттуда. Надеюсь, это поможет.