我正在处理数据帧,我正在尝试使用R来计算包含数据的列名 . 我有一个示例数据框,如下所示:
df <-structure(
list(
area = structure(1:9,
.Label = c("a", "b", "c", "d", "e", "f", "g", "h", "i"),
class = "factor"
),
cat = c(5L, 0L, 0L, 0L, 0L, 0L, 0L, 3L, 0L),
dog = c(0L, 10L, 0L, 0L, 0L, 0L, 0L, 0L, 11L),
rabbit = c(0L, 0L, 0L, 3L, 0L, 0L, 0L, 0L, 0L),
horse = c(0L, 0L, 8L, 0L, 0L, 0L, 0L, 0L, 0L),
sheep = c(0L, 0L, 0L, 0L, 9L, 0L, 0L, 0L, 0L),
mouse = c(0L, 0L, 0L, 0L, 0L, 5L, 0L, 0L, 0L),
rat = c(0L, 0L, 0L, 0L, 0L, 0L, 2L, 0L, 0L)
),
.Names = c("area", "cat", "dog", "rabbit", "horse", "sheep", "mouse", "rat"),
class = "data.frame",
row.names = c(NA, -9L)
)
在从'cat'到'rat'的列中,只有一列中有正值(其余为零) . 我如何让R添加一个名为“animal”的额外列,以便为每个区域提供动物名称(来自列名称),其中有正值,即“动物”列将读取猫,狗,马,兔子,羊等?
我们将非常感激地提供任何帮助或指导 .
提前谢谢了 .
1 回答