使用R对所有变量中的字符串进行计数

使用R对所有变量中的字符串进行计数,r,R,我有一个包含药物列表的数据集。我想得到所有变量中的药物计数。请推荐一些代码来实现下面提到的格式的示例数据集 Drug1 Drug2 Drug3 aa cc rr bb rr bb dd rr aa 预期结果如下 aa 2 bb 2 cc 1 dd 1 rr 3 另一种方法是使用gatherfromtidyrpackage: library(tidyverse) a <- data.frame( Drug1 = c("aa", "c

我有一个包含药物列表的数据集。我想得到所有变量中的药物计数。请推荐一些代码来实现下面提到的格式的示例数据集

Drug1  Drug2  Drug3
aa     cc     rr
bb     rr     bb
dd     rr     aa
预期结果如下

aa 2
bb 2
cc 1
dd 1
rr 3

另一种方法是使用
gather
from
tidyr
package:

library(tidyverse)
a <- data.frame(
  Drug1 = c("aa", "cc", "rr"),
  Drug2 = c("bb", "rr", "bb"),
  Drug3 = c("dd", "rr", "aa")
)
b <- a %>% gather(., key = "drugs", value = "drug_name", Drug1, Drug2, Drug3)
table(b$drug_name)
aa bb cc dd rr 
 2  2  1  1  3 
库(tidyverse)

另一种方法是使用
gather
from
tidyr
包:

library(tidyverse)
a <- data.frame(
  Drug1 = c("aa", "cc", "rr"),
  Drug2 = c("bb", "rr", "bb"),
  Drug3 = c("dd", "rr", "aa")
)
b <- a %>% gather(., key = "drugs", value = "drug_name", Drug1, Drug2, Drug3)
table(b$drug_name)
aa bb cc dd rr 
 2  2  1  1  3 
库(tidyverse)

a这里有一个更通用的解决方案,可以使用
tidyverse

库(tidyverse)
a%
计数(值)
B

感谢@zx8754的编辑建议,以前的代码是
a%%>%gather()%%>%pull(value)%%>%table()

这里是使用
tidyverse解决问题的更通用的方法:

库(tidyverse)
a%
计数(值)
B

感谢@zx8754的编辑建议,以前的代码是
a%%>%gather()%%>%pull(value)%%>%table()

可能
as.data.frame(table(unlist(data))
。可能
as.data.frame(table)(unlist(data)))
。感谢您的建议,它对样本数据集很有效,但我有25000个药物名称,无法全部插入,请建议其他药物名称way@SathishJay你有25000个变量吗,比如,药物1,药物2,。。。25000?还是25000像aa bb rr。。。?你不需要提及所有的药物名称。对于gather()函数,只需要插入变量名称。感谢您的建议,它对示例数据集很有效,但我有25000个药物名称,不能全部插入。请建议另一个way@SathishJay你有25000个变量吗,比如,药物1,药物2,。。。25000?还是25000像aa bb rr。。。?你不需要提及所有的药物名称。只需为gather()函数插入变量名称在tidyverse中插入一次,保持不变:
a%%>%gather()%%>%count(value)
在tidyverse中插入一次,保持不变:
a%%>%gather()%%>%count(value)