2016-11-21 2 views
-1

У меня есть большие данные с большим количеством столбцов и строк. Я хочу подмножать несколько столбцов в df1 из списка переменных (имя столбцов в df1) в df2. Так, например, у меня естьВыберите переменные в одной части данных из списка в другом фрейме данных

df1 <- data.frame(A=sample(1:10, 10), B=sample(1:10, 10), C=sample(1:10,10), D=sample(1:10,10)) 
var <- c('A','C') 
ratio <- c(0.5,0.6) 
df2 <- data.frame(var,ratio) 

Нового dataframe должны выглядеть следующим образом:

A C 
1 9 2 
2 1 3 
3 4 5 
4 2 8 
5 10 7 
6 5 1 
7 7 9 
8 3 4 
9 8 10 
10 6 6 
+1

Попробуйте 'df1 [as.character (df2 $ var)]', поскольку 'var' является столбцом' factor', преобразуйте его в 'character' – akrun

+0

Он работает! Благодаря @akrun – Shima

ответ

0

Мы должны преобразовать factor переменную «вара» для character класса для подмножества первого набора данных

df1[as.character(df2$var)] 
Смежные вопросы