Получить имя столбца файла CSV - PullRequest
0 голосов
/ 20 мая 2019

Я хочу получить имена столбцов данных CSV и применить некоторые функции к имени столбца.

Я попробовал следующий код, но вывод просто возвращает тип данных

reading_data <- read.csv("test.csv")

print("Header Row:")
print(reading_data[0,])  # This gives me a list of column names correctly
print(class(reading_data[0,])) # O/P is: "data.frame"
print("++++++++++++++++++++++++++++")
for(i in 1:ncol(reading_data)){ 
    print(reading_data[0,i]) # O/P is: numeric(0) ; I want string value of data name here.
} 

Ответы [ 3 ]

1 голос
/ 20 мая 2019

Способ получения имен столбцов не reading_data[0,], а скорее использование функции colnames() ... в данном случае colnames(reading_data).

Если вы хотите, чтобы они хранились в векторе, используйте

colnames_df <- colnames(reading_data)

К которой вы могли бы применить свою функцию (вы также можете применить ее непосредственно к colnames(reading_data)).

1 голос
/ 20 мая 2019

Спасибо за ответы.

имена (чтение_данных) послужило моей цели.

col_names = names(reading_data)

for(i in 1:length(col_names)){ 
  print(col_names[i]) 
  # Operation on col_names[i]
} 

PS: я новичок в R, поэтому не знаю всех этих основных функций:)

1 голос
/ 20 мая 2019

reading_data[0,] не возвращает вам имена столбцов, он возвращает вам фрейм данных без выбранных строк.

Проверьте, например, с помощью mtcars

mtcars[1, ]
#          mpg cyl disp  hp drat   wt  qsec vs am gear carb
#Mazda RX4  21   6  160 110  3.9 2.62 16.46  0  1    4    4

Это 1-я строка mtcars с именами столбцов.

Теперь, если вы сделаете mtcars[0, ]

mtcars[0, ]
# [1] mpg  cyl  disp hp   drat wt   qsec vs   am   gear carb
#<0 rows> (or 0-length row.names)

Возвращает имена столбцов в том виде, в котором они не выбраны, поскольку в индексе нет строк.

Если вы хотите применить некоторые функции к каждому имени столбца отдельно, вы можете сделать

for(i in names(reading_data)){ 
    print(i) 
    #add the operation to be applied here
} 

names(mtcars) или colnames(mtcars) дадут вам имена столбцов напрямую.

names(mtcars)
# [1] "mpg"  "cyl"  "disp" "hp"   "drat" "wt"   "qsec" "vs"   "am"   "gear" "carb"
colnames(mtcars)
# [1] "mpg"  "cyl"  "disp" "hp"   "drat" "wt"   "qsec" "vs"   "am"   "gear" "carb"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...