计数观察排列在多列中

时间:2018-02-23 12:23:33

标签: r count subset

我在行(非常大)中有一个species ID的数据库,以及它们在列(多个站点)中出现的位置。我需要总结每个网站有多少species个。我的观察在某些情况下(现在)或数字(个体数量)是明确的,因为它们来自不同的数据库来源。此外,整个数据库中有几个na

在R中,我一直在使用函数来计算当时一个站点的观察值。

我很感激有关如何同时统计不同列的观察结果的任何帮助。

1 个答案:

答案 0 :(得分:0)

你可以做到:

  SELECT COUNT(*)
  FROM tables
  WHERE conditions

并在条件中指定不同的列条件

  WHERE t.COLUMN1="THIS" AND t.COLUMN2="THAT"

或使用SUM CASE(可能是最好的想法):

 SELECT grfield, 
 SUM(CASE when a=1 then 1 else 0 end) as tcount1,
 SUM(CASE when a=2 then 1 else 0 end) as tcount2
 FROM T1
 GROUP by grfield;

或者以更复杂的方式,您可以在计数内执行子查询:

    SELECT COUNT(*) FROM 
    (
      SELECT DISTINCT D
      FROM T1
      INNER JOIN T2
      ON A.T1=B.T2
    ) AS subquery;

你可以在子查询中做几个计数......可能性是无穷无尽的。