用条件求和唯一字符

时间:2017-04-18 11:13:26

标签: r sum conditional-statements

我想创建一个带有条件的唯一字符的总和。

这是我的数据测试(.csv):

 $ lot       : Factor w/ 3 levels "lot1","lot4",..: 1 1 1 2 3
 $ usl       : int  2 2 3 1 2
 $ site_value: int  1 6 1 2 4

lot  usl   site_value
lot1  2       1
lot1  2       6
lot1  3       1
lot4  1       2
lot5  2       4

我做了这个条件:

nbLotOOC<-sum(test$usl > test$site_value)

我的结果是2.但我会计算满足条件的批次数。我的结果应该是1.我不知道使用什么功能或方法。

2 个答案:

答案 0 :(得分:2)

您可以找到满足条件的索引,选择批次列,查找唯一的出现次数,然后检查该向量的长度:

length(unique(test[test$usl > test$site_value, "lot"]))

答案 1 :(得分:2)

你可以这样做:

sum(aggregate(test$usl>test$site_value, list(test$lot), any)$x)

来自nicola的评论:

test <- read.table(header=TRUE, text=
"lot  usl   site_value
lot1  2       1
lot1  2       6
lot1  3       1
lot4  1       2
lot5  2       4")

数据:

.custom-date-field {
  font-family: Arial, Sans-serif;
  border: 1px solid #dddddd;
  padding: 20px;
  font-size: 12px;
  margin-bottom: 30px;
}

.custom-date-field input {
  background-color:#e4ebef;
  border: none;
  padding: 5px 10px;
 }

.custom-date-field span {
  display: block;
  font-size: 12px;
}

.custom-date-field label {
  width: 30%;
  display: inline-block;
  float: left;
  font-size: 18px;
}