在 R 中导入一个文件,该文件在第一个物理列中具有列名

Importing a file in R which has column names in first physical column

我应该如何导入第一个物理列中有列名的 文件?例如,我有类似下面的内容。

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

这个数据的常规放置是这样的,也是我希望数据导入后的样子。

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

常规的placement很容易读取,但是如果placement中有列名在一列中,我不知道如何读取文件。有人可以帮忙吗?

您可以使用 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)

假设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