2015-08-10 2 views
0

Хорошо, я уверен, что есть простое решение. Если предположить, что следующие данныеКак перенести данные из разных длин таблиц

A <- 1:10 
B <- rep("Part A", 10) 
C <- 10:19 
df1 <- data.frame(A,B,C) 

A <- 1:9 
B <- rep("Part B", 9) 
D <- 20:28 
df2 <- data.frame(A,B,D) 

Теперь я хочу, чтобы создать df3, которые пользователь определяет, какие имена столбцов. Так df3 должно быть 2 * 19 кадра данных только A и B

Это не работает

df3 <- rbind(df1[A,B], df2[A,B]) 

Я не хочу использовать common_cols или [,x] функцию, как мой реальный набор данных имеет более 1000 переменных, которые не всегда в одном порядке.

ответ

4

Ваш синтаксис не подходит для подмножества. Попробуйте

cols <- c("A", "B") 
rbind(df1[,cols], df2[,cols]) 

столбцы, которые вы хотите сохранить должен быть вектор имен (или индексов/логические выражения) после ,.

+0

спасибо, новый я должен был быть близок – lukeg

+1

Также может быть вектор логики, просто чтобы добавить опцию –

+0

@docendodiscimus Я знал, что когда-нибудь буду что-то пропустить, я начал писать это :) Функции подмножества так много делают. – jenesaisquoi

Смежные вопросы