Как я могу извлечь столбец, который сравнивает два столбца двух разных фреймов данных? - PullRequest
0 голосов
/ 12 апреля 2019

Я немного застрял в R

У меня есть два кадра данных.

I Я хочу сравнить два столбца из другого информационного кадра и извлечь значения другого столбца на основе позиции сопоставления двух сравниваемых столбцов.

пример данных:

test=data.frame(a=seq(1,10,by=1))

test2=data.frame(x=c(1.1,1.3,2.5,4.2,1.2,3.6,3.7,8.8,9.9,4.1),y=seq(1,10,by=1))

Предположим, у меня есть эти данные. Я хочу, чтобы значение x в test2 совпадало с тестами $ a и test2 $ y

extract_test=test2[test2$y %in% test$a,]

Даст мне все данные для соответствующих значений в test2 $ y и test $ a. Но я хочу только test2 $ x для test2 $ y == test $ a

Ответы [ 2 ]

1 голос
/ 12 апреля 2019
extract_test=test2[test2$y %in% test$a,1]
[1] 1.1 1.3 2.5 4.2 1.2 3.6 3.7 8.8 9.9 4.1

Это то, что вы ищете?Просто выберите столбцы, которые вы хотите извлечь, как второй элемент подмножества.

Или с вашими исходными данными:

mean_test=df_half_data_mean_with_NA[df_half_data_mean_with_NA$range_mean %in% test$a,1]
1 голос
/ 12 апреля 2019

Использование which().

Вы можете попытаться выяснить, какие строки результата логического теста в TRUE:

mean_test <- newdf[which(olddf$range_mean %in% test$a), 1:2]

Это должно вернуть номера строк тех строк, гдеэтот тест равен TRUE и впоследствии будет соответствующим образом задавать ваш фрейм данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...