2016-11-21 29 views
-1

我有大量行和列的大數據。我想在df2中從df1中的變量列表(df1中的列名稱)中爲df1中的少數列進行子集化。只是舉例,我有從另一個數據框中的列表中選擇一個數據幀中的變量

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) 

新的數據幀應該是這樣的:

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變量「VAR」轉換爲character類子集劃分的第一個數據集

df1[as.character(df2$var)] 
相關問題