Как построить подмножество фрейма данных в r


Вы можете использовать следующие методы для построения подмножества фрейма данных в R:

Метод 1: постройте подмножество фрейма данных на основе условия

 #plot var1 vs. var2 where var3 is less than 15
with(df[df$var3 < 15 ,], plot(var1, var2))

Метод 2: постройте подмножество фрейма данных на основе нескольких условий.

 #plot var1 vs. var2 where var3 is less than 15 and var4 is greater than 3
with(df[(df$var3 < 15 ) & (df$var4 > 3 ),], plot(var1, var2))

Следующие примеры показывают, как использовать каждый метод на практике со следующим фреймом данных:

 #create data frame
df <- data. frame (A=c(1, 3, 3, 4, 5, 7, 8),
                 B=c(3, 6, 9, 12, 15, 14, 10),
                 C=c(10, 12, 14, 14, 17, 19, 20),
                 D=c(5, 7, 4, 3, 3, 2, 1))

#view data frame
df

  ABCD
1 1 3 10 5
2 3 6 12 7
3 3 9 14 4
4 4 12 14 3
5 5 15 17 3
6 7 14 19 2
7 8 10 20 1

Пример 1. Постройте подмножество фрейма данных на основе условия

Следующий код показывает, как создать диаграмму рассеяния переменной A и переменной B, где переменная C меньше 15:

 #plot A vs. B where C is less than 15
with(df[df$C < 15 ,], plot(A, B))

Обратите внимание, что на графике отображаются только строки в фрейме данных, где переменная C меньше 15.

Пример 2. Постройте подмножество фрейма данных на основе нескольких условий.

Следующий код показывает, как создать диаграмму рассеяния переменной A и переменной B, где переменная C меньше 15 , а переменная D больше 3:

 #plot A vs. B where C is less than 15 and D is greater than 3
with(df[(df$C< 15 ) & (df$D> 3 ),], plot(A, B)) 

Обратите внимание, что на графике отображаются только строки в фрейме данных, где переменная C меньше 15, а переменная D больше 3.

Связано : Как использовать функции with() и Inside() в R.

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные задачи в R:

Как создать облака точек по группам в R
Как создать матрицу диаграммы рассеяния в R

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *