Подмножество фрейма данных на основе содержимого другого фрейма данных
17232 просмотра
1 ответ
У меня есть два data.frames. Для примера скажем, что они выглядят так:
df1 <- data.frame(x=rep(letters[1:26], 16))
df2 <- data.frame(y=letters[1:4])
То, что я хотел бы сделать, это подмножество 'df1', чтобы содержать строки, значение первого столбца которых совпадает с любым значением в первом столбце 'df2'.
Теперь я попробовал:
subset(df1, df1$x == df2$y)
Но это говорит мне, что мне нужны одинаковые по размеру данные. Мысли?
Автор: Brandon Bertelsen Источник Размещён: 12.11.2019 09:42Ответы (1)
15 плюса
Решение
И то, %in%
и другое match()
можно использовать для этого. Вот первый:
> which( df1$x %in% df2$y )
[1] 1 2 3 4 27 28 29 30 53 54 55 56 79 80 81 82 105
[18] 106 107 108 131 132 133 134 157 158 159 160 183 184 185 186 209 210
[35] 211 212 235 236 237 238 261 262 263 264 287 288 289 290 313 314 315
[52] 316 339 340 341 342 365 366 367 368 391 392 393 394
>
>
> table(df1[ which( df1$x %in% df2$y ), "x"])
a b c d e f g h i j k l m n o p q r s t u v w x y
16 16 16 16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
z
0
>
Автор: Dirk Eddelbuettel
Размещён: 10.08.2010 06:36
Вопросы из категории :
- r Как получить доступ к последнему значению в векторе?
- r Пакеты оптимизации для R
- r Есть ли у R такие операторские операции, как Perl qw ()?
- r Библиотека / инструмент для рисования тройных / треугольных графиков
- r Участки без заголовков / надписей в R
- r Расчет скользящей средней
- r Режим Emacs ESS - вкладка для области комментариев
- r Преобразование данных из многих строк во многие столбцы
- r Проверить, содержит ли вектор данный элемент
- r Поиск всех позиций для нескольких элементов в векторе
- dataframe Разница между скобками [] и двойной скобкой [[]] для доступа к элементам списка или кадра данных
- dataframe Уровни коэффициента отбрасывания в заданном кадре данных
- dataframe Как отсортировать фрейм данных по нескольким столбцам
- dataframe Как объединить (объединить) кадры данных (внутренний, внешний, левый, правый)?
- dataframe Фильтрация строк данных.файла по логическому условию
- dataframe Изменение формы data.frame из широкого в длинный формат
- dataframe Как преобразовать столбец фрейма данных в числовой тип?
- dataframe R: Какой самый простой способ распечатать пары значений из data.frame?
- dataframe R: Как записать data.frame, чтобы я мог вставить его в SO, чтобы другие могли его прочитать?