Удалить повторяющиеся имена столбцов в R - PullRequest
0 голосов
/ 14 марта 2020

У меня большой набор данных, но столбцы заголовков повторяются так:

	ipad1	ipad2	ipad3
Time1	12	14	16
	ipad1	ipad2	ipad3
Time2	14	19	22
	ipad1	ipad2	ipad3
Time3	78	90	23

Я хочу избавиться от повторяющихся имен столбцов, чтобы получить такую ​​таблицу:

	 ipad1	ipad2 ipad3
Time1	    12	 14	 16
Time2	    14	 19	 22
Time3	    78	 90	 23

есть ли простой код для этого?

Ответы [ 2 ]

1 голос
/ 14 марта 2020

Как уже упоминалось другими, трудно определить, с чего вы начинаете.

Если у вас есть текстовый файл с разделителями табуляции, например с именем ipad_data.txt, с вашими данными, вы можете сделать следующее:

raw_lines <- readLines(file("ipad_data.txt"))
dat_lines <- paste(raw_lines[c(FALSE, TRUE)], collapse = "\n")
dat <- read.table(text = dat_lines)
names(dat) <- unlist(strsplit(raw_lines[1], split = "\t"))

Выход

        ipad1 ipad2 ipad3
1 Time1    12    14    16
2 Time2    14    19    22
3 Time3    78    90    23
0 голосов
/ 14 марта 2020

Фильтр для столбца с именем «ipad1» и фильтр для всех, кроме «ipad1»

Это сработало для меня, когда я скопировал данные вашего примера:

library(readxl)
df <- read_excel("test.xlsx")

View(df)

col1    ipad1    ipad2   ipad3
Time1   12       14      16
Na      ipad1    ipad2   ipad3
Time2   14       19      22
Na      ipad1    ipad2   ipad3
Time3   78       90      23

library(dplyr)
df %>%
  filter(ipad1 != "ipad1")

Вывод:

  col1  ipad1 ipad2 ipad3
  <chr> <chr> <chr> <chr>
1 Time1 12    14    16   
2 Time2 14    19    22   
3 Time3 78    90    23 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...