计算R中的类别

时间:2013-06-17 16:38:12

标签: r

我有一个大约有一百万行的文件。有些是相同的,有些是不同的。我想知道每个人有多少。我这样做是:

data<-read.table('Rtest2.txt', header=TRUE, sep='\t')
Warning message:
In scan(file, what, nmax, sep, dec, quote, skip, nlines, na.strings,  :
  EOF within quoted string

attach(data)
leaf_count=data[,1]

table(leaf_count) 

然而,结果只是所有不同类别的一小部分。它达到426类(约170,000),就是这样。对R有限制吗或我做错了什么?

萨姆

1 个答案:

答案 0 :(得分:0)

如果您的数据位于data.frame,并且您想知道重复的行数,我建议您使用aggregate,如下例所示:

> d <- data.frame(a=c(1,1,1,2), b=c("A","A","B","C"))
> d
  a b
1 1 A
2 1 A
3 1 B
4 2 C
> aggregate(1:nrow(d), by=d, FUN=length)
  a b x
1 1 A 2
2 1 B 1
3 2 C 1

要删除单行中的重复项 ,请使用:

> unique(d$a)
[1] 1 2

> unique(d$b)
[1] A B C
Levels: A B C

如果只有几列定义了类别(例如ab),请使用以下命令:

result <- aggregate(1:nrow(d), by=list(a=d$a, b=d$b), FUN=length)