Чтобы переименовать конкретную переменную, я могу сделать, например,
names(df1)[which(names(df1) == "C")] <- "X"
> df1
A B X
1 1 2 3
Интересно, возможно ли это также с setNames()
, но без повторения имен я не хочу переименовывать, как в
df1 <- setNames(df1, c("A", "B", "X"))`
Я пробовал setNames(df1, c(rep(NA, 2), "X"))
и setNames(df1[3], "X")
, но это не сработает. Преимущество, которое я вижу в setNames()
, заключается в том, что я могу задавать имена, делая другие вещи за один шаг.
Данные
df1 <- setNames(data.frame(matrix(1:3, 1)), LETTERS[1:3])
> df1
A B C
1 1 2 3