2

我将 csv 导入到 R 中,它认为我的变量 FERNH 是一个因素;不是。我不知道为什么或如何解决它。我查看了 FERNH 中的值,它们似乎是正确的,并且与其他 8 个变量一致。请指教。

str(height)
'data.frame':   512 obs. of  9 variables:
 $ DSH   : int  50 4 35 10 12 0 0 30 0 0 ...
 $ ESH   : int  0 0 0 0 0 30 80 10 8 15 ...
 $ ETH   : int  0 0 0 0 0 0 0 0 0 0 ...
 $ CANEH : int  0 0 40 15 0 0 0 0 0 0 ...
 $ HERBH : int  0 0 0 0 0 0 5 15 25 10 ...
 $ FERNH : Factor w/ 32 levels "0","10","100",..: 1 1 1 13 1 1 26 1 14 1 ...
 $ C4H   : int  0 0 0 0 0 0 0 0 0 13 ...
 $ GRASSH: int  40 0 0 0 0 0 0 0 0 0 ...
 $ DTH   : int  0 0 0 0 0 0 0 0 0 0 ...
4

2 回答 2

5

@Justin 指出了问题所在。levels不过,您可以提供colClasses='integer'给.而不是试图用read.csv. 那么R在读取过程中遇到该值会报错,并报告它是什么。

于 2013-01-09T18:51:56.107 回答
4

那里有一个character值,所以 R 按预期运行。看看有levels(height$FERNH)问题的值。您可以设置stringsAsFactors=FALSE您的阅读步骤或通过options,但随后该列将是 acharacter而不是integer

虽然一开始这看起来很烦人,但如果字符列包含长字符串,它是一种出色的数据质量检查以及显着的内存节省。

于 2013-01-09T18:45:19.777 回答