Как изменить первую строку как заголовок в R?

Вопрос: У меня есть следующая таблица: X.5 X.6 X.7 X.8 X.9 X.10 X.11 X.12 X.13 17 Zip CuCurrent PaCurrent PoCurrent Contact Ext Fax email Status 18 74136 0 1 0 918-491-6998 0 918-491-6659 1 19 30329 1 0 0 404-321-5711 1 20 74136 1 0 0 918-523-2516 0 918-523-2522 1 21 80203 0 1 0

Вопрос:

У меня есть следующая таблица:

X.5 X.6 X.7 X.8 X.9 X.10 X.11 X.12 X.13 17 Zip CuCurrent PaCurrent PoCurrent Contact Ext Fax email Status 18 74136 0 1 0 918-491-6998 0 918-491-6659 1 19 30329 1 0 0 404-321-5711 1 20 74136 1 0 0 918-523-2516 0 918-523-2522 1 21 80203 0 1 0 303-864-1919 0 1 22 80120 1 0 0 345-098-8890 456 1

как сделать первый столбец “zip, cucurrent, pacurrent…” заголовком столбца?

Благодаря,

ниже – dput(dat)

dput (dat) (список (X.5 = структура (c (26L, 14L, 6L, 14L, 17L, 16L),.Label = c (“”, “1104”, “1234 Я не знаю Ave. “,” 139,98 “,” 300 Morgan St. “,” 30329 “,” 312,95 “,” 4101 S. 4th Street, Traff “,” 500 Highway 89 North “,” 644,04 “,” 656,73 “,” 72160 “, “72336-7000”, “74136”, “75501”, “80120”, “80203”, “877.87”, “Address1”, “BZip”, “General Svcs Admin (WPY)”, “InvFileName2”, “LDC_Org_Cost”,, “N/A”, “NULL”, “Zip”), class=”factor”), X.6 = структура (c (7L, 2L, 3L, 3L, 2L, 3L), Label = c (” “,” 0 “,” 1 “,” 301 7-й St. SW “,” 800-688-6160 “,” Address2 “,” CuCurrent “,” Emergency “,” LDC_Cost_Adj “,” Mtelemetry “,” N/A “,” NULL “,” Suite 1402 “), class=” factor “), X.7 = структура (c (8L, 3L, 2L, 2L, 3L, 2L),.Label = c (” “,” 0 “,” 1 “,” Address3 “,” Cucustomer “,” LDC_Misc_Fee “,” NULL “,” PaCurrent “,” Room 7512 “), class=” factor “), X.8 = структура (c (14L, 2L, 2L, 2L, 2L, 2L).Label = c (“”, “0”, “100.98”, “237.02”, “242.33”, “335.04”, “50.6”, “City”, “Durham” “LDC_FinalVolume”, “Leavenwoth”, “Pacustomer”, “Peters” burg “,” PoCurrent “,” Prescott “,” Washington “), class=” factor “), X.9 = структура (c (18L, 16L, 10L, 17L, 7L, 9L), Label = c (” “0”, “1”, “139,98”, “20024”, “27701”, “303-864-1919”, “312,95”, “345-098-8890”, “404-321-5711”, “644,04”, “656,73”, “66048”, “86313”, “877,87”, “918-491-6998”, “918-523-2516”, “Контакт”, “LDC_FinalCost”, “PoCustomer”, “Zip “), class=” factor “), X.10 = структура (c (14L, 2L, 1L, 2L, 2L, 9L),.Label = c (” “,” 0 “,” 2.620194604 “,” 2.710064788 “, “2.717239052”, “2.766403162”, “202-708-4995”, “3.09912854”, “456”, “804-504-7200”, “913- 682-2000”, “919- 956-5541”, “928-717-7472”, “Ext”, “InvoicesNeeded”, “LDC_UnitPrice”, “NULL”, “Phone”), class=”factor”), X.11 = структура (c (7L, 4L, 1L, 5L, 1L, 1L),.Label = c (“”, “”, “1067”, “918-491-6659”, “918-523-2522”, “Ext”, “Fax”, “InvoiceMonths”, “LDC_UnitPrice_Original”, “NULL”, “x2951”), class= “factor”), X.12 = структура (c (13L, 1L, 1L, 1L, 1L, 1L),.Label = c (“”, “0”, “100,98”, “202-401-3722”, “237,02”, “242,33”, “335,04”, “50,6”, “716- 344-3303”, “804-504-7227”, “913- 758-4230”, “919- 956-7152”, “электронная почта”, “Факс”, “GSA”,, “Supp_Vol”), class= “factor”), X.13 = структура (c (10L, 2L, 2L, 2L, 2L, 2L), Label = c (“”, “1”, “15” “202-497-6164”, “3”, “804-504-7200”, “Emergency”, “MajorTypeId”, “NULL”, “Status”, “Supp_Vol_Adj”), class=”factor”)). Имена = c (“X.5”, “X.6”, “X.7”, “X.8”, “X.9”, “X.10”, “X.11”, “X.12 “,” X.13 “), row.names = 17:22, class=” data.frame “)

Лучший ответ:

Если вы не хотите перечитывать данные в R (что кажется вам не из комментариев), вы можете сделать следующее. Мне пришлось добавить некоторые нули, чтобы ваши данные были полностью прочитаны, поэтому не обращайте на них внимания.

dat ## V2 V3 V4 V5 V6 V7 V8 V9 V10 ## 17 Zip CuCurrent PaCurrent PoCurrent Contact Ext Fax email Status ## 18 74136 0 1 0 918-491-6998 0 918-491-6659 0 1 ## 19 30329 1 0 0 404-321-5711 0 0 0 1 ## 20 74136 1 0 0 918-523-2516 0 918-523-2522 0 1 ## 21 80203 0 1 0 303-864-1919 0 0 0 1 ## 22 80120 1 0 0 345-098-8890 456 0 0 1

Сначала возьмите первую строку в качестве имен столбцов. Затем удалите первую строку. Завершите его, переведя столбцы в соответствующие типы.

names(dat) <- as.matrix(dat[1, ]) dat <- dat[-1, ] dat[] <- lapply(dat, function(x) type.convert(as.character(x))) dat ## Zip CuCurrent PaCurrent PoCurrent Contact Ext Fax email Status ## 1 74136 0 1 0 918-491-6998 0 918-491-6659 0 1 ## 2 30329 1 0 0 404-321-5711 0 0 0 1 ## 3 74136 1 0 0 918-523-2516 0 918-523-2522 0 1 ## 4 80203 0 1 0 303-864-1919 0 0 0 1 ## 5 80120 1 0 0 345-098-8890 456 0 0 1 Ответ №1

Если вы получите его из файла csv, используйте аргумент ‘header’ from read.csv

dat=read.csv(«gas.csv», header=TRUE)

если у вас уже есть ваши данные и вы не хотите/не можете получить его по-своему, вы можете сделать alwasy

dat=structure(list(X.5 = structure(c(26L, 14L, 6L, 14L, 17L, 16L), .Label = c(«», «1104», «1234 I don’t know Ave.», «139.98», «300 Morgan St.», «30329», «312.95», «4101 S. 4th Street, Traff», «500 Highway 89 North», «644.04», «656.73», «72160», «72336-7000», «74136», «75501», «80120», «80203», «877.87», «Address1», «BZip», «General Svcs Admin (WPY)», «InvFileName2», «LDC_Org_Cost», «N/A», «NULL», «Zip»), class = «factor»), X.6 = structure(c(7L, 2L, 3L, 3L, 2L, 3L), .Label = c(«», «0», «1», «301 7th St. SW», «800-688-6160», «Address2», «CuCurrent», «Emergency», «LDC_Cost_Adj», «Mtelemetry», «N/A», «NULL», «Suite 1402»), class = «factor»), X.7 = structure(c(8L, 3L, 2L, 2L, 3L, 2L), .Label = c(«», «0», «1», «Address3», «Cucustomer», «LDC_Misc_Fee», «NULL», «PaCurrent», «Room 7512»), class = «factor»), X.8 = structure(c(14L, 2L, 2L, 2L, 2L, 2L), .Label = c(«», «0», «100.98», «237.02», «242.33», «335.04», «50.6», «City», «Durham», «LDC_FinalVolume», «Leavenwoth», «Pacustomer», «Petersburg», «PoCurrent», «Prescott», «Washington»), class = «factor»), X.9 = structure(c(18L, 16L, 10L, 17L, 7L, 9L), .Label = c(«», «0», «1», «139.98», «20024», «27701», «303-864-1919», «312.95», «345-098-8890», «404-321-5711», «644.04», «656.73», «66048», «86313», «877.87», «918-491-6998», «918-523-2516», «Contact», «LDC_FinalCost», «PoCustomer», «Zip»), class = «factor»), X.10 = structure(c(14L, 2L, 1L, 2L, 2L, 9L), .Label = c(«», «0», «2.620194604», «2.710064788», «2.717239052», «2.766403162», «202-708-4995», «3.09912854», «456», «804-504-7200», «913-682-2000», «919-956-5541», «928-717-7472», «Ext», «InvoicesNeeded», «LDC_UnitPrice», «NULL», «Phone»), class = «factor»), X.11 = structure(c(7L, 4L, 1L, 5L, 1L, 1L), .Label = c(«», » «, «1067», «918-491-6659», «918-523-2522», «Ext», «Fax», «InvoiceMonths», «LDC_UnitPrice_Original», «NULL», «x2951»), class = «factor»), X.12 = structure(c(13L, 1L, 1L, 1L, 1L, 1L), .Label = c(«», «0», «100.98», «202-401-3722», «237.02», «242.33», «335.04», «50.6», «716- 344-3303», «804-504-7227», «913- 758-4230», «919- 956-7152», «email», «Fax», «GSA», «Supp_Vol»), class = «factor»), X.13 = structure(c(10L, 2L, 2L, 2L, 2L, 2L), .Label = c(«», «1», «15», «202-497-6164», «3», «804-504-7200», «Emergency», «MajorTypeId», «NULL», «Status», «Supp_Vol_Adj»), class = «factor»)), .Names = c(«X.5», «X.6», «X.7», «X.8», «X.9», «X.10», «X.11», «X.12», «X.13»), row.names = 17:22, class = «data.frame») dat2 = dat[2:6,] colnames(dat2) = dat[1,] dat2 Ответ №2

Пожалуйста, используйте header = TRUE при импорте данных в R!

Ответ №3

Если вы можете перечитать данные в R из файла, вы также можете просто добавить аргумент “skip” для read.csv, чтобы пропустить первые 16 строк и использовать строку 17 в качестве заголовка:

dat=read.csv(«contacts.csv», skip=16, nrows=5, header=TRUE) Ответ №4

Это может быть просто:

Шаг 1: Копирование первой строки в заголовок:

names(dat) <- dat[1,]

Шаг 2: Удалить 1-й ряд:

dat <- dat[-1,]

Оцените статью
Добавить комментарий