你好,谢谢你阅读我。我有一个主表,其中包含一个值“1”在列“val”,我想添加两个值在另一列,复制值的val,但我已经尝试过没有工作。例如:
主表:
x <- tibble(
val = 1,
val2 = NA
)
字符串
我试过:
x$val2[x$val == 1] <- c(5,3)
型
但返回的是一个错误信息。我甚至尝试:
library(zeallot)
x$val2[x$val == 1] %<-% c(5,2)
型
但只分配firs值。我的预期结果应该如下:
val val2
<dbl> <dbl>
1 1 5
2 1 2
型
有没有办法得到这个结果?
更新
使用reframe,代码仅在“瓦尔”中有1行时才有效,但如果我添加更多行,则会返回错误消息。例如:
x <- tibble(
val = c(1,2,3),
val2 = NA
)
reframe(x, val, val2=c(5, 2))
Error in `reframe()`:
! Can't recycle `val2 = c(5, 2)`.
Caused by error:
! `val2` must be size 3 or 1, not 2.
ℹ An earlier column had size 3.
型
如果尝试使用索引,如:
reframe(x, val[val == 1], val2=c(5, 2))
仅返回2行:
# A tibble: 2 × 2
`val[val == 1]` val2
<dbl> <dbl>
1 1 5
2 1 2
对我来说,预期的结果应该是:
val val2
<dbl> <dbl>
1 1 5
2 1 2
3 2 NA
4 3 NA
1条答案
按热度按时间wixjitnu1#
我想你可能想加入?
字符串
创建于2023-12-08带有reprex v2.0.2