2013-04-06 76 views
1

我有一个文件.ped谁包含多列,我想从中提取信息。 这里我的数据的样本(没有标头):使用r的数据处理

1 1 1 
1 2 1 
2 3 2 
3 4 1 
3 5 2 
... 

第一列表示的ID家族,第二个ID的个体,个体的第三性别。

我读表作为数据帧

ped <- read.table("pedigree.ped", header=FALSE) 

我如何计算家庭的数量存在(一个家庭可以出现一个以上的时间,我要考虑他们作为一个)? 我有一个性别专栏,其中1个指定男性和2个女性,我如何获得数据集中男性和女性的分布?

我是R新手,如果你可以给一些代码!

谢谢先进。

+1

请发送您的数据样本。 – 2013-04-06 01:48:27

+0

^^^ this - 'head(ped)' – Nishanth 2013-04-06 01:50:12

+0

请给我指数 – 2013-04-06 02:14:51

回答

2

既然你是R的新手,我会建议先看看excel。你所要求的操作相当简单,可以在Excel中完成。

如果要使用,则成为考虑data.frame索引,子集等

如果您熟悉SQL,来看一下,sqldf package

多的家庭:

numFamilies <- length(unique(ped[,1])) 

男性数量&女性:

numMales <- sum(ped[,3] == 1) 
numFemales <- sum(ped[,3] == 2) 
+0

SQL和R的关系是什么? – 2013-04-06 01:54:49

+1

很多R语法新手都熟悉sql界面。 select,count,groupby等。您可以使用sqldf包查询data.frame对象。 – Nishanth 2013-04-06 01:59:44

+0

@ e4e5f4:不一定。 – Metrics 2013-04-06 02:01:04

2

请尝试使用此功能浏览数据:

For family: 
table(ped[,1]) 

For sex: 
table(ped[,3])