Как получить доступ к имени столбца, который является числом через переменную - PullRequest
1 голос
/ 19 марта 2019

Проблема: я не могу выбрать столбец данных через переменную, если столбец является числом.Пример:

library(dplyr)
df = data.frame(a=c(1,2,3),b=c(4,5,6)) #Create a dataframe

colnames(df) <- c("99","66") #Column names are numbers (let's say the id of something)

Я могу сделать это:

print(df$`99`[1])

Но я не могу сделать это:

k <- 99
print(df$`k`[1])

Причина, по которой я пытаюсь использоватьпеременная для доступа к имени столбца - это то, что я хочу перебрать имена столбцов:

for (i in colnames(df)){
  df$"i"
  df[,i]
}

1 Ответ

0 голосов
/ 19 марта 2019

Вы можете просто сделать-

> k=99
> df[[paste0(k)]]
[1] 1 2 3

Только для уточнения по вашему for loop -

cols <- c(99,66)
for(i in 1:length(cols))
{
   print(df[[paste0(cols[i])]])
}

output-

[1] 1 2 3
[1] 4 5 6
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...