R语言--减去某只出现过N次的所在的行

需要解决的问题描述:

用户购买物品数据集,每行存储数据格式(user_id,item_id,category_id,ratings,helpfulness,timestamp)

数据事例:

去除那些item_id只出现过一次的行。 问题的规模:922267obs of 2 variables

查找过资料发现如下两个方法:

1.定义一个函数

deleteuniquelines <- function(x) {# x为输入的数据框
  stand.col <- x[, 1] # 设根据x的第一列进行删除操作 x[,1]中1为第一列 2为第二列 以此类推
  count <- table(stand.col)   #table函数可以得到每个上述列每个数所出现的频数
  if (all(count < 2)) stop("no repeated records")
  else {
    ind <- sapply(stand.col, function(t) ifelse(count[as.character(t)] > 1, TRUE, FALSE))
  }
  return(x[ind, ])
}

test <- data.frame(name = c(1, 1, 2, 3, 3), score = c(2, 2, 3, 2, 4))#测试用例

deleteuniqueli

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值