使用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
fromtidyr
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
fromtidyr
包:
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)