在R中通过两个因子推断数据

时间:2015-09-29 10:35:56

标签: r list matrix

这是问题所在。我需要从下表中推断出数据。

sp    rd  pH count
1 dog  uniq 4.5     5
2 dog  uniq 4.2     5
3 dog   for 6.1     3
4 cat  uniq 7.0     8
5 cat  uniq 4.9     5
6 cat mains 3.1     9
7 cat mains 6.5     1
8 cat mains 6.5     3

在此表中,有两个因素sprd。我的结果应该是列表(或者可能是矩阵,但我在R中创建具有不同行长度的矩阵应该比创建列表更难)其中:list具有尽可能多的向量,因为许多是唯一的因子组合{ {1}}和sp,每个向量都有多个因子组合的pH值。

更具体地说,我的结果应该是一个包含四个向量的列表(组合是dog uniq,dog for,cat unique和cat mains),数字为rd(4.5, 4.2), (6.1)(7.0, 4.9)

对不起我的英语,我不是母语。希望这是可以理解的。

2 个答案:

答案 0 :(得分:2)

我们可以使用split。如果f有多个组,请将其保留在list

split(df1$pH, list(df1$sp, df1$rd), drop=TRUE)

或者使用interaction的组变量的f

split(df1$pH, interaction(df1[1:2], drop=TRUE))

答案 1 :(得分:0)

您可以使用extrapolate.uni.scam()SCAM库中的R函数,

请检查以下链接,例如:

http://www.inside-r.org/packages/cran/scam/docs/extrapolate.uni.scam