在下面的DATA中,我想知道如何找到唯一study_id,对于哪个变量scale具有多个唯一值?

预期答案应该是Li(LiscaleotherMBTI).但我想知道如何通过BASE或dplyr代码找到它?

m="
study_id   year es_id       r     se     n pub_type  context  ed_setting  age_grp L1    L2    prof  scale outcome
Dreyer     1992   130  0      0.0574   305 DocDisse~ Foreign~ CollegeUni~ Adult   Afri~ Engl~ NA    Other Listen~
Dreyer     1992   131  0.04   0.0574   305 DocDisse~ Foreign~ CollegeUni~ Adult   Afri~ Engl~ NA    Other Writing
Dreyer     1992   132 -0.03   0.0574   305 DocDisse~ Foreign~ CollegeUni~ Adult   Afri~ Engl~ NA    Other Reading
Dreyer     1992   133  0      0.0574   305 DocDisse~ Foreign~ CollegeUni~ Adult   Afri~ Engl~ NA    Other Overall
Ghapanchi  2011    89  0.31   0.0806   141 JournalA~ Foreign~ CollegeUni~ Adult   Pers~ Engl~ NA    Other Overall
Hassan     2001   177  0.25   0.117     71 NA        Foreign~ CollegeUni~ NA      Arab~ Engl~ NA    Other Speaki~
Kralova    2012   137  0.0252 0.117     75 JournalA~ Foreign~ CollegeUni~ Adult   Slov~ Engl~ Inte~ Other Speaki~
Li         2009    55 -0.04   0.132     59 JournalA~ Foreign~ CollegeUni~ Adult   Chin~ Engl~ NA    Other Grammar
Li         2009    56  0.355  0.124     59 JournalA~ Foreign~ CollegeUni~ Adult   Chin~ Engl~ NA    Other Pragma~
Li         2003    57  0.039  0.0735   187 JournalA~ Foreign~ CollegeUni~ Multip~ Chin~ Engl~ NA    MBTI  Overall
"

DATA <- read.table(text = m, h=T)

推荐答案

这是一个在dplyr和基数R中的方法-

其思想是 Select 具有唯一study_id的行,其中有多个唯一scale值.

library(dplyr)

DATA %>%
  group_by(study_id) %>%
  dplyr::filter(n_distinct(scale) > 1) %>%
  ungroup %>%
  distinct(study_id)

# study_id
#  <chr>   
#1 Li      

基数R-

unique(subset(DATA, ave(scale, study_id, 
       FUN = function(x) length(unique(x))) > 1, select = study_id))

#  study_id
#8       Li

R相关问答推荐

将模拟变量乘以多个观测结果中的模拟变量

如何删除多个.CSV文件的行

获取一个数据库框架的摘要,该数据库框架将包含一列数据库框架,

如何根据组大小应用条件过滤?

使用ggsankey调整Sankey图中单个 node 上的标签

使用strsplit()将向量操作为数据框

如何在区分不同条件的同时可视化跨时间的连续变量?

为什么舍入POSIXct会更改能力以匹配等效的POSIXct?

使用for循环和粘贴创建多个变量

合并后返回列表的数据帧列表

在GG图中绘制射线的自动程序

安全地测试文件是否通过R打开

将箭头绘制在图形外部,而不是图形内部

如何将一些单元格的内容随机 Select 到一个数据框中?

通过初始的shiny 应用更新部署的shiny 应用的数据和参数,其中部署的应用程序显示为URL

如何预测原始数据集并将值添加到原始数据集中

如何显示准确的p值而不是<;0.001*?

使用&Fill&Quot;在gglot中创建 colored颜色 渐变

将R中对象的CSV数组转换为JSON数组

以列名的字符向量作为参数按行应用自定义函数