【发布时间】:2021-09-04 10:49:08
【问题描述】:
我有一个包含两列的数据框,如下所示:
> co_purchase
Source Target
1 0 1
2 0 2
3 0 3
4 0 4
5 0 5
6 1 0
7 1 2
8 1 4
9 1 5
10 1 15
我想用另一个向量的位置值+1中的字符一个来更改每个值。我已经尝试过了,即使它可以只替换一列:
co_purchase %>%
mutate(Source = recode(Source, products$group[Source + 1]))
但这会导致大多数 NA 出现以下错误:
Warning message:
Problem with `mutate()` column `Source`.
i `Source = recode(...)`.
i Unreplaced values treated as NA as .x is not compatible. Please specify replacements exhaustively or supply .default
group 向量是这样制作的:
[1] NA "Book" "Book" "Book" "Book" "Book" "Book" "Music" "Book" "Book" "Book" "Book" "Book" "Book" "Music"
因此,所需的输出如下:
> co_purchase
Source Target
1 NA "Book"
2 NA "Book"
3 NA "Book"
4 NA "Book"
5 NA "Book"
6 "Book" NA
7 "Book" "Book"
8 "Book" "Book"
9 "Book" "Book"
10 "Book" "Music"
【问题讨论】:
-
没有
group列。你能发布预期的输出吗?
标签: r dataframe dplyr data-manipulation