如何使用 dplyr
解决以下玩具问题:
取一个数据框,其中每行包含至少两个由空格分隔的虹膜种类:
mySpecies <- data.frame(
Species=c("lazica uniflora setosa",
"virginica setosa uniflora loczyi",
"versicolor virginica"))
我'd like to add 2 columns to ' mySpecies'其中每行包含Sepal.Length和Sepal.Width的平均值,仅适用于单独查找表中可用的物种:iris数据集: unique(iris$Species)
此示例的输出应该是mySpecies数据框,其中包含额外的'Sepal.Length.mean'和'Sepal.Width.mean'列,其中包含iris $ Species中出现的每个物种的变量的平均值 .
所以第一行只包含'setosa'的Sepal.Length和Sepal.Width,因为其他物种名称没有出现在 iris
中 . 但是,第二行将包含Sepal.Length和Sepal.Width的均值'virginica'和'setosa',因为它们都出现在查找表中(即 iris
) .
请注意,这是一个玩具示例,但我的实际数据帧非常大 .
2 回答
干得好 . 首先,将你的弦分成单独的物种;然后为每个组:过滤匹配的行,并计算平均值 .