r - 根据 R data.table 中另一列的值移动一列
问题描述
考虑以下情况,我尝试使用 shift 来获取v2
->Target_v3
library(data.table)
dt = data.table(v1=c(1,0,1,1,0),
v2=letters[1:5],
Target_v3=c(NA,"b","b","c","e"))
> dt
v1 v2 Target_v3
1: 1 a NA
2: 0 b b
3: 1 c b
4: 1 d c
5: 0 e e
我需要的是一个新列v3
,它是 in 的值v2
,被数字滞后v1
- 如Target_v3
我曾尝试使用 shift,但无法得到我想要的,例如,
dt[, v3 := shift(v2, v1, type="lag")]
似乎是错误的,并给出了错误的结果。
解决方案
推荐阅读
- .net - .NET String.Format Include Minus Sign in Count for Padding 0
- ruby-on-rails - 是什么导致 Heroku 上的延迟作业中的 JSON 解析错误
- python - Python - 如果在嵌套列表中找到字符串,则返回 true
- python - 由于主循环中的问题,go 按钮不起作用
- javascript - 如何命名空间解构赋值?
- javascript - 组合一个基本 URL 并在多个数组中的每个元素后面附加一个 ID
- python - HTML5 播放器在网页上显示,但 mp3 声音不播放
- c++ - 为什么 STL map 的方法“find”会使用 std::bitset 类型键引发“core dumped”?
- prolog - ; (或)Prolog 中的运算符不返回 true,除非左侧为 true,即使运算符的右侧本身返回 true
- macos - 是否可以将 LaTeX 代码行左对齐而不是右对齐?