我希望能够使用dplyr比较分组数据框内的值,并创建一个哑变量或类似的东西,指示哪个更大。但我无法想出解决方法!
以下是一些可重现的代码:
我会将df按照
我一直在尝试使用for循环遍历每个物种,但是df包含超过50,000个物种,对于我需要重新执行操作的时间来说太长了...
有人知道方法吗? 非常感谢!
以下是一些可重现的代码:
table <- structure(list(species = structure(c(1L, 1L, 1L, 2L, 2L, 2L), .Label = c("Adelophryne adiastola",
"Adelophryne gutturosa"), class = "factor"), scenario = structure(c(3L,
1L, 2L, 3L, 1L, 2L), .Label = c("future1", "future2", "present"
), class = "factor"), amount = c(5L, 3L, 2L, 50L, 60L, 40L)), .Names = c("species",
"scenario", "amount"), class = "data.frame", row.names = c(NA,
-6L))
> table
species scenario amount
1 Adelophryne adiastola present 5
2 Adelophryne adiastola future1 3
3 Adelophryne adiastola future2 2
4 Adelophryne gutturosa present 50
5 Adelophryne gutturosa future1 60
6 Adelophryne gutturosa future2 40
我会将df按照
species
分组。
我想创建一个新的列,可以是increase_amount
,其中每个“未来”中的数量与“现在”进行比较。当数值增加时,我可以得到1,而当它减少时,我可以得到0。我一直在尝试使用for循环遍历每个物种,但是df包含超过50,000个物种,对于我需要重新执行操作的时间来说太长了...
有人知道方法吗? 非常感谢!