Как разместить подмножество в Rf с извлечением нескольких столбцов и Как добавить столбец из одного кадра в другой на основе схожего столбца - PullRequest
1 голос
/ 17 апреля 2020

У меня два вопроса. Q1: Как создать подмножество Dataframe путем извлечения некоторых столбцов из основного кадра данных Например, у меня dfac как фрейм данных.

ac<-c("a","b","c","d")
dc<-c(1,4,4,3)
bc<-c(1,1,0,0)

dfac<-data.frame(ac,dc,bc)

Мне нужно подмножество df с именем subdf путем извлечения столбца "ac", and "bc" из основного фрейма данных "dfac". Как я могу сделать это в R? Выходные данные должны быть

subdf ac   bc
       a   1
       b   1
       c   0
       d   0

Second Question is How to merge the column "bc"  from dataframe subdf  into dataframe dfac based on value of column "ac". 

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

Ответы [ 2 ]

3 голосов
/ 17 апреля 2020

Вы можете сделать это, используя пакет dplyr

Чтобы извлечь столбцы из data.frame, вы можете просто использовать select() из dplyr пакета:

library(dplyr)
subdf <- dfac %>%
  select(ac, bc)

#Output
  ac bc
1  a  1
2  b  1
3  c  0
4  d  0

Хотя для объединения двух data.frames по столбцу ac можно использовать функцию join (в данном случае left_join):

subdf %>%
  left_join(dfac, by = "ac")

#Output
  ac bc.x dc bc.y
1  a    1  1    1
2  b    1  4    1
3  c    0  4    0
4  d    0  3    0

Надеюсь, это поможет.

0 голосов
/ 17 апреля 2020

Первый вопрос:

subdf <- dfac[,c(1,3)]
# or:
subdf <- dfac[,-2]

Второй вопрос:

dfac_new <- merge(subdf, dfac, by = "ac")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...