在 R 中导入一个文件,该文件在第一个物理列中具有列名
Importing a file in R which has column names in first physical column
我应该如何导入第一个物理列中有列名的 xlsx 文件?例如,我有类似下面的内容。
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
我应该如何导入第一个物理列中有列名的 xlsx 文件?例如,我有类似下面的内容。
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