【发布时间】:2021-06-12 13:07:55
【问题描述】:
我有一个包含数百个样本和数千个变量的数据框。但是这里我给出一个简单的数据框(my_data)作为说明。我想根据基因所属的集群(基因可以在多个集群中)获得变量相对于gene_count总和的百分比。我知道如何获取每个使用数据框操作的百分比。但是,由于我是编码新手,我正在尝试创建一个函数来获取百分比。谁能帮助如何使用我的函数(百分比)获得每个基因的百分比?结果将是“百分比”列上的百分比。非常感谢。
gene = c("CD63", "PTN", "MT2A", "PTGDS", "DBI", "TIMP1", "COX6C", "APLP2", "PTN", "GPC1")
gene_count = c(10, 15, 5, 15, 10, 25, 5, 5, 5, 5)
cluster = c(1,2, 3, 5, 7, 8, 9, 3, 6, 4 )
percent = c(0.1, 0.15, 0.5, 0.15, 0.1, 0.25, 0.05, 0.05, 0.05, 0.05)
my_data = data.frame(gene, gene_count, cluster, percent)
my_data
percent = function(gene, cluster){
for (gene in c(data$gene)){
if (data$gene == gene & data$cluster == cluster)
print(data$gene_count[which(data$gene == gene & data$cluster == cluster)]/sum(data$gene_count))
else print("Gene is not expressed in this cluster")
}
}
【问题讨论】:
-
prop.table(my_data$gene_count)或my_data$gene_count/sum(my_data$gene_count) -
感谢您的反馈。我有这个想法,但我想学习使用函数找到特定基因。
-
欢迎来到 StackOverflow!如果您还没有这样做,请花一些时间查看要做什么when someone answers your question。访问 help center 可以找到有关 StackOverflow 新用户的更多信息。
标签: r function dataframe percentage