Первые аргументы as.data.frame
должны быть списком объектов, которые вы хотите объединить во фрейм данных, потому что второй аргумент ищет row.names
.Таким образом, чтобы не вводить R в заблуждение, что ваш второй фрейм данных - row.names
, а поскольку вы хотите объединить векторов , поместите их все в cbind()
level_unhappy <- as.data.frame(cbind(brfss2013$qlmentl2, brfss2013$misdeprd, brfss2013$misnowork))
.Можно также избежать этой головной боли, используя другую базовую команду R data.frame
вместо as.data.frame
, что обеспечивает некоторые косвенные преимущества в зависимости от того, что вы пытаетесь сделать.Однако в этом случае ваш код работал бы так, как написано с помощью data.frame
:
level_unhappy <- data.frame(brfss2013$qlmentl2, brfss2013$misdeprd, brfss2013$misnowork)
data.frame
, не предполагающим, что какой-либо аргумент является чем-то иным, кроме данных, которые должны быть объединены, если вы не расшифруете столько, сколько используетенеобязательный аргумент, например, row.names = "r1"
.