r - 是否可以在 R 数据框中将列值上移一位?
问题描述
假设我们有一个这样的数据框:
Value Image
24.34 pic_00001
232.4 pic_00002
342.34 pic_00003
该Image
列以相同的顺序继续,直到pic_10000
完整的数据集中。
我想替换Image
列值,以便它开始pic_00002
- 基本上删除pic_00001
和移动它们。该Values
列应保持不变。换句话说,输出应该如下所示:
Value Image
24.34 pic_00002
232.4 pic_00003
342.34 pic_00004
最多pic_10001
(如果方法是将所有列值向上移动 1,则需要生成)
有人知道怎么做这个吗?
解决方案
我会lead()
从 dplyr 使用。
library(dplyr)
x <- tribble(
~value, ~image,
1, "zero",
2, "one",
3, "two",
)
x %>%
mutate(lead_image = lead(image, 1, default = "manual three"))
#> # A tibble: 3 x 3
#> value image lead_image
#> <dbl> <chr> <chr>
#> 1 1 zero one
#> 2 2 one two
#> 3 3 two manual three
由reprex 包于 2021-06-30 创建 (v2.0.0 )
推荐阅读
- c# - ASP.NET Core Web Api 是否不希望返回状态码
- azure - 是否有使用超级账本结构的 azure-blockchain-workbench 或 azure baas 的定价计算器?
- java - 如何设置可选
Long 数据类型变量中的数据类型变量值? - xml - ST 转换序列化期间错误的命名空间绑定
- python-3.x - 在wireshark中解密python请求https流量
- android - 在“vivo”和“xiaomi”设备中关闭应用时收不到推送通知
- reactjs - 在严格模式树中发现了一个字符串 ref,“canvas”
- r - 在因子组中的最小值和最大值之后选择 x 条记录
- php - PHP while 循环处理速度更快,可能使用 PHP 工作者实现
- python - python中sort和sorted之间的区别以及它们的反转?