передать содержимое одного фрейма данных в другой в г - PullRequest
0 голосов
/ 07 сентября 2018

В настоящее время я изучаю R, чтобы написать диссертацию в моем университете.

В моем проекте у меня есть один фрейм данных с 2 столбцами и 6001 строкой. В моем первом столбце у меня есть числа от 10000,9999,9998 до 4000, а во втором столбце у меня есть числовые элементы. На мой взгляд, я хочу сделать что-то очень простое. Я хочу создать второй фрейм данных с половиной размера исходного фрейма данных, который содержит четные числа первого столбца с числовым значением из второго столбца.

Я попробовал некоторые сценарии, которые не пошли, как планировалось. Мой первый сценарий был: ifelse(tkk[1] %% 2 == 0, tkal<-tkk, 0). И тогда я попробовал это: tkal <-case_when((tkk[1]%%2 ==0)~ tkk). Но оба моих сценария не запустились или не дали желаемых результатов.

У кого-нибудь из вас есть решение или лучшая идея, чтобы я мог решить эту простую задачу?

Заранее спасибо

Ответы [ 3 ]

0 голосов
/ 07 сентября 2018

Попробуйте tkk2 <- dplyr::filter(tkk, first_column %% 2 == 0)

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

0 голосов
/ 07 сентября 2018

Вы ищете подмножество. Я предлагаю использовать which(), если у вас есть значения NA.

tkal <- tkk[which(tkk[[1]] %% 2 ==0),]
0 голосов
/ 07 сентября 2018

Если tkk - ваш фрейм данных, вы можете сделать следующее

tkk[tkk[,1]%%2==0,]

Возвращает все столбцы фрейма данных, где первый столбец имеет четные значения.

Код, который я использовал:

tkk=data.frame(1:20,rep(1,20))
tkk[tkk[,1]%%2==0,]
#2      2          1
#4      4          1
#6      6          1
#8      8          1
#10    10          1
#12    12          1
#14    14          1
#16    16          1
#18    18          1
#20    20          1
...