0

我在制表符分隔的长度不均匀的行中有数据,我想为每一行制作一个直方图:

1    23    352    4    12    94    0    2
434    13    29
5    93    93    34
(...more rows)

这是我目前拥有的(不包括幻想):

data = read.delim(file.txt,header = F, sep="\t")
for (j in 1:nrow(data)) { #loop over each row
    hist(data[j,])

但是当我尝试制作直方图时,我认为它会尝试将 NA 包含在数据框的行中,因为 R 给了我错误消息:“hist.default(data[2, ]) 中的错误:'x'必须是数字”。

当我尝试使用时:

read.scan("file.txt, sep="\t")

我留下了一些我不知道如何按行分隔的东西。我有比将文件拆分为每个文件一行然后分别读取每一行更好的选择吗?(我遇到了同样的问题,列大小不均匀......)

4

1 回答 1

2

该错误是由于从 data.frame 中获取一行会产生一个 class 对象data.frame(并且hist()想要 class numeric)。只需将其转换为numeric

hist(as.numeric(data[j,]))
于 2012-07-19T19:48:09.187 回答