У меня есть tibble
нравится:
df <- tribble(~employee_name, ~salary, ~weight,
"sarah", 90000, 110,
"john", 50000, 150,
"jones", 70000, 160,
)
На самом деле я хотел бы получить значения в первом столбце в виде вектора (который всегда будет состоять из строк):
[1] "sarah" "john" "jones"
Это легко сделать с помощью df$employee_name
, но что, если имя первого столбца не всегда employee_name
? Мне нужен способ получить имя первого столбца, чтобы я мог в конечном итоге получить значения первого столбца в виде столбца. Я пробовал:
first_col_name <- df[,1]
df$first_colname
# Error in df$first_colname : object of type closure is not subsettable
Я предполагаю, что сообщение об ошибке означает, что операция df$colname
требует, чтобы colname
было фактическим именем столбца и не могло быть переменной.
df[,1]
— это не имя столбца, это значение. если вы используете first_col_name <- names(df)[1]
, то df[[first_col_name]]
дает результат
df[, colnames(df)[1]]
Все проверено работает и должно быть оставлено для потомков как несколько возможных решений; кто-то опубликует ответ, чтобы я мог принять его как ответ.
Использовать этот:
df%>%dplyr::pull(1)
это даст вам первый столбец без необходимости знать имя столбца
Попробуйте
df%>%pull(1)
Вам не нужно знать имя первого столбца. Просто используйтеdplyr::pull(1)