gpt4 book ai didi

r - 使用 dplyr::rowwise 设置操作

转载 作者:行者123 更新时间:2023-12-04 12:27:27 29 4
gpt4 key购买 nike

我正在尝试对具有字符向量作为列表元素的列表变量执行集合操作(​​相交、联合、setdiff、setequal)。例如,

library(dplyr)
list1 = list(c('a', 'b'), c('x', 'y', 'z'))
list2 = list(c('b'), c('x', 'z'))
df = data_frame(x = list1, y = list2)

就像是
df %>% rowwise() %>% mutate(z = setdiff(x, y))

似乎工作。但不是
df %>% rowwise() %>% mutate(z = intersect(x, y))

使用 intersect() 给出错误信息:

Error: incompatible size (2), expecting 1 (the group size) or 1

最佳答案

intersect()为第二行返回多个元素,您需要将其包装为列表以适合单元格:

df %>% rowwise() %>% mutate(z = list(intersect(x, y)))

# Source: local data frame [2 x 3]
# Groups: <by row>

# x y z
# <list> <list> <list>
# 1 <chr [2]> <chr [1]> <chr [1]>
# 2 <chr [3]> <chr [2]> <chr [2]>

关于r - 使用 dplyr::rowwise 设置操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38921580/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com