Импорт файла в R с именами столбцов в первом физическом столбце - PullRequest
0 голосов
/ 17 марта 2020

Как мне импортировать файл с именами столбцов в первом физическом столбце? Например, у меня есть что-то вроде приведенного ниже.

A  1  4  6
B  5  7  9
C  7  6  9

Обычное размещение этих данных заключается в следующем, и я также хочу, чтобы данные выглядели после импорта.

A B C
1 5 7
4 7 6
6 9 9

Легко читать обычное размещение, но я не знаю, как прочитать файл, если у размещения есть имена столбцов в столбце. Может кто-нибудь помочь?

Ответы [ 2 ]

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

Предположим, df - это фрейм данных, который вы читаете из файла xlsx.

Затем вы можете транспонировать его с помощью t()

df <- t(df)

Вы получите что-то вроде этого

V1 "A"  "B"  "C" 
V2 "1"  "5"  "7" 
V3 "4"  "7"  "6" 
V4 "6"  "9"  "9" 

Теперь вы выбираете имена из первой строки и удаляете ее.

mynames <- df[1,]
df <- as.data.frame(df[-1,])

Теперь вы присваиваете имена столбцам и удаляете имена строк.

colnames(df) <- mynames
rownames(df) <- NULL

Результат

  A B C
1 1 5 7
2 4 7 6
3 6 9 9
1 голос
/ 17 марта 2020

Вы можете использовать read.csv, чтобы прочитать весь файл как есть, а затем использовать соответствующее подмножество.

df <- read.csv(file="input.csv")
name_vec <- df[,1]
df <- data.frame(t(df[,2:ncol(df)]))
names(df) <- name_vec
df

   A B C
v2 1 5 7
v3 4 7 6
v4 6 9 9

Данные:

df <- data.frame(v1=c("A", "B", "C"), v2=c(1,5,7), v3=c(4,7,6), v4=c(6,9,9),
    stringsAsFactors=FALSE)
...