在r中减去类似的名称列

时间:2016-12-12 21:02:07

标签: r dataframe subtraction

我有50个不同动物的数据框(下面给出了猫和狗的一个例子)和8个观察结果(下面给出了三个例子),我想计算每天动物之间的差异( _1,_2,_3)和第0天(_0)以及前一天(例如,cats_3-cats_2)。

df <- read.table(text = 
                'shelter cats_0 cats_1 cats_2 cats_3 dogs_0 dogs_1 dogs_2 dogs_3 
                 blue 4 4 2 1 3 4 8 3 
                 yellow 3 6 5 3 2 5 6 3 
                 green 2 7 3 2 8 4 2 2 
                 red 5 6 6 4 4 5 9 6 
                 orange 6 4 1 1 6 3 2 1' 
    header = TRUE )

下面的“答案”仅适用于猫咪。我意识到这将是一个非常宽的桌子!

df <- read.table(text = 
"shelter    cats_0  cats_1  cats_2  cats_3  cats_1-0    cats_2-0    cats_3-0    cats_2-1    cats_3-2
blue    4   4   2   1   0   -2  -3  -2  -1
yellow  3   6   5   3   3   2   0   -1  -2
green   2   7   3   2   5   1   0   -4  -1
red 5   6   6   4   1   1   -1  0   -2
orange  6   4   1   1   -2  -5  -5  -3  0",
header = TRUE
)

有一种简单的方法吗?我玩过grep和一个带有动物名字的物体,无法让它发挥作用。

1 个答案:

答案 0 :(得分:1)

不是最漂亮的代码,但没有依赖关系,如果你真的有&lt;每个10:

or