gpt4 book ai didi

R-导入CSV文件,所有数据归入一个(第一)列

转载 作者:行者123 更新时间:2023-12-03 16:16:11 24 4
gpt4 key购买 nike

我是新手,遇到了一个问题:

我得到了一个包含 15 列和 33,000 行的数据集(csv 文件)。

当我在 Excel 中查看数据时看起来不错,但是当我尝试加载数据时
进入 R-studio 我有一个问题:

我使用了代码:

x <- read.csv(file = "1energy.csv", head = TRUE, sep="")
View(x)

结果是列名很好,但数据(第 2 行和更远的行)是
都在我的第一列。

在第一列中,数据用 ; 分隔。 .但是当我尝试代码时:
x1 <- read.csv(file = "1energy.csv", head = TRUE, sep=";")

下一个问题是: read.table(file = file, header = header, sep = sep, quote = quote, 中的错误:
不允许重复的“row.names”

所以我做了代码:
x1 <- read.csv(file = "1energy.csv", head = TRUE, sep=";", row.names = NULL)

看起来它有效......但现在数据在错误的列中(例如,“名称”列现在包含“时间”值,“时间”列包含“成本”值。

有谁知道如何解决这个问题?我可以重命名列,但我认为这不是最好的方法。

最佳答案

Excel,至少在其英文版本中,可能使用逗号作为分隔符,因此您可能想尝试

x1 <- read.csv(file = "1energy.csv", head = TRUE, sep=",")

我曾经遇到过类似的问题,其中 header 有一个很长的条目,其中包含一个 read.csv 误认为列分隔符的字符。实际上,它是未正确引用的长名称的一部分。
尝试跳过标题并查看问题是否仍然存在
x1 <- read.csv(file = "1energy.csv", skip = 1, head = FALSE, sep=";")

回复您的评论:
你可以做两件事。最简单的一种是手动分配名称:
myColNames <- c(“col1.name”,”col2.name”)
names(x1) <- myColNames

另一种方法是只读取名称行(文件中的第一行)
仅读取第一行,将其拆分为字符向量
nameLine <- readLines(="1energy.csv", n=1)
fileColNames <- unlist(strsplit(nameLine,”;”))

然后看看如何解决问题,然后将 name s 分配给 x1 数据框。我不知道你的第一行到底有什么问题,所以我不能告诉你如何解决它。

另一个粗略的选择是使用文本编辑器打开 csv 文件并编辑列名称。

关于R-导入CSV文件,所有数据归入一个(第一)列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35360847/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com