gpt4 book ai didi

R 将列转换为 NA 值 - 为什么?

转载 作者:行者123 更新时间:2023-12-04 21:44:05 24 4
gpt4 key购买 nike

我想读取制表符分隔的文件,其中一列指示由“罗马”枚举表示的类(每个文件在第二列中包含 i、ii、iii 或 iv)。但是,对于仅包含“i”的文件,此列将转换为 NA 值。我可以使用如下所示的小测试文件重现此错误:

animal  class   info
dog i a
cat i a
rabbit i b

当我将其读入 R 时:

> d<-read.delim("test_roman.csv", sep="\t")
> d
animal class info
1 dog NA a
2 cat NA a
3 rabbit NA b

我在这里缺少什么? read.delim 总是在类似的文件上为我工作。

最佳答案

如果您可视化了该类型,您可能已经发现了:

typeof(d$class)
[1] "complex"

您显然不希望有复数,因此我们强制执行“字符”类:

read.table("test_roman.csv", sep="\t", fill=T, colClasses="character", header=T)
# animal class info
# dog i a
# cat i a
# rabbit i b

如果您的文件不仅包含 i,还包含 iiiv,它仍然可以工作:

read.delim("test_roman2.csv", sep="\t")
# animal class info
#1 dog i a
#2 cat i a
#3 rabbit i b
#4 rabbit iv b
#5 rabbit ii b

关于R 将列转换为 NA 值 - 为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25659847/

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