簡體   English   中英

R將列轉換為NA值-為什么?

[英]R transforms column to NA value - why?

我想讀入制表符分隔的文件,其中一列表示由“羅馬”枚舉表示的類(每個文件在第二列中包含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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM