2016-06-13 2 views
0

У меня есть проблема в интерпретации следующий синтаксис:как интерпретировать data.frame в R

data=data.frame(X,Z[,5]) 

я проверить его в R. Я konw, что X является набором данных, которые переходят к data.fram, но я не найти аргумент corresoponding для Z[,5], так как интерпретировать этот синтаксис?

data.frame(..., row.names = NULL, check.rows = FALSE, 
      check.names = TRUE, fix.empty.names = TRUE, 
      stringsAsFactors = default.stringsAsFactors()) 
+0

'Z [, 5]' - это пятый столбец некоторого 'data.frame' с именем' Z'. –

+0

Он говорит, что создает data.frame с именем data с столбцами 'X' и' Z [, 5] ', где' X' является вектором, а 'Z' представляет собой либо другой файл данных, либо матрицу с таким же количеством строк как длина 'X'. – lmo

+1

@lmo X не обязательно должен быть столбцом, это может быть другой файл data.frame с кучей cols, например. – Frank

ответ

4

X и Z[,5] оба передаются в качестве значений данных через ... аргумента. Будет сделана попытка сделать оба из них отдельными столбцами кадра данных. Любые аргументы, следующие за ... в списке аргументов, должны быть названы. В data.frame(), ... - первый аргумент. Поэтому для передачи значений любому аргументу, отличному от ..., вы должны использовать имена. Вы не назвали ни одного, и поэтому оба X и Z[,5] переданы .... Если вы сделали, к примеру,

data.frame(X, row.names = Z[,5]) 

где есть именованный аргумент, то Z[,5] будет передано row.names аргумента. См. Руководство по эксплуатации Introduction to R.

+0

Если' x' и 'z [, 5]' оба переданы в '...', то вывод будет их конкатенацией? –

+0

Нет, каждый из них будет превращен в столбец кадра данных. –

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