gpt4 book ai didi

Read.CSV 在 R 中没有按预期工作

转载 作者:行者123 更新时间:2023-12-04 09:19:27 25 4
gpt4 key购买 nike

我难住了。通常,read.csv按预期工作,但我遇到了行为出乎意料的问题。这很可能是我的用户错误,但任何帮助将不胜感激。

这是文件的 URL

http://nces.ed.gov/ipeds/datacenter/data/SFA0910.zip

这是我获取文件、解压缩并读取它的代码:
 URL <- "http://nces.ed.gov/ipeds/datacenter/data/SFA0910.zip"
download.file(URL, destfile="temp.zip")
unzip("temp.zip")
tmp <- read.table("sfa0910.csv",
header=T, stringsAsFactors=F, sep=",", row.names=NULL)

这是我的问题。当我在 Excel 中打开数据 csv 数据时,数据看起来像预期的那样。当我将数据读入 R 时,第一列实际上被命名为 row.names。 R 正在读取额外的一行数据,但我无法弄清楚导致 row.names 成为一列的“错误”发生在哪里。简单地说,它看起来像数据转移了。

然而,奇怪的是 R 中的最后一列似乎包含正确的数据。

以下是前几列的几行:
tmp[1:5,1:7]
row.names UNITID XSCUGRAD SCUGRAD XSCUGFFN SCUGFFN XSCUGFFP
1 100654 R 4496 R 1044 R 23
2 100663 R 10646 R 1496 R 14
3 100690 R 380 R 5 R 1
4 100706 R 6119 R 774 R 13
5 100724 R 4638 R 1209 R 26

关于我可能做错了什么的任何想法?

最佳答案

我的提示:当分隔文件未按预期运行时,使用 count.fields() 作为快速诊断。

首先,使用 table() 计算字段数:

table(count.fields("sfa0910.csv", sep = ","))
# 451 452
# 1 6852

这告诉您除了一行之外的所有行都包含 452 个字段。那么哪个是异常线呢?
which(count.fields("sfa0910.csv", sep = ",") != 452)
# [1] 1

第一行是问题。检查时,除第一行之外的所有行都以 2 个逗号结尾。

现在的问题是:这意味着什么?标题行中是否应该有一个被省略的额外字段?或者 2 个逗号是否错误地附加到其他行?如果可能,最好联系生成数据的人,以澄清歧义。

关于Read.CSV 在 R 中没有按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11978748/

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