You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

R语言嵌套公式语法疑问:如何嵌套实现筛选后取唯一值

R语言嵌套实现筛选+提取唯一值

你当前代码的问题是unique()函数用法错误——它默认接收整个数据框,不能直接传入列名参数。下面是两种正确的嵌套实现方式:

方式1:使用dplyr管道(推荐,代码更清晰)

如果你习惯用%>%管道,可以用filter替代subset(dplyr更推荐的筛选函数),再结合distinct直接提取X列的唯一值:

data %>% 
  filter(Y == "1") %>% 
  distinct(X)

如果需要得到一个向量而非数据框,在最后加pull(X)再去重:

data %>% 
  filter(Y == "1") %>% 
  pull(X) %>% 
  unique()

方式2:基础R嵌套写法

不用管道的话,直接把筛选结果的X列传入unique即可:

unique(subset(data, Y == "1")$X)

内容的提问来源于stack exchange,提问作者Ari Monger

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 19:45:40