【发布时间】:2020-06-09 11:09:10
【问题描述】:
由于我是 R 循环的新手,我将感谢您对我的问题的帮助。 假设我有一个这样的数据框:
Family <- c('mir-1','mir-1','mir-3','mir-4','mir-4','LET-7', 'LET-7','mir-1','mir-4','LET-7')
Species <- c('hsa','chicken','hsa','hsa','chicken','hsa','hsa','chicken','chicken','hsa')
Tissue <- c('blood','liver','blood','blood','liver','skin','skin','skin','liver','nail')
star <- c('1','4','3','4','12','3','7','4','1','5') #numeric
mature <- c('9','6','8','1','7','3','4','2','8','9') #numeric
df <- data.frame(Family,Species,Tissue,star,mature)
我的输出应该是这样的:
Family_ <- c('mir-1','mir-1','mir-3','mir-4','mir-4','LET-7', 'LET-7','mir-1','mir-4','LET-7')
Species_ <- c('hsa','chicken','hsa','hsa','chicken','hsa','hsa','chicken','chicken','hsa')
Tissue_ <- c('blood','liver','blood','blood','liver','skin','skin','skin','liver','nail')
star <- c('1','4','3','4','12','3','7','4','1','5') #numeric
mature <- c('9','6','8','1','7','3','4','2','8','9') #numeric
total_count <- c('10','10','11','5','28','17','17','6','28','14') #numeric
star_total <- c('1','4','3','4','13','10','10','4','13','5') #numeric
mature_total <- c('9','6','8','1','15','7','7','2','15','9') #numeric
df_new <- data.frame(Family_,Species_,Tissue_,star,mature,star_total,mature_total,total_count)
我想遍历each family in each tissue in each species。所以基本上对于第一列中特定组织和特定物种中的每个家庭(不删除重复的行)我想计算total_count <- sum (mature) + sum (star),star_total <- sum (star),@ 987654326@ * 添加一个额外的列 * 称为 rpm_mature 可以通过这种方式计算 rpm_mature <- mature_total/total_count*10^6 (此列不包含在我的输出中)。因此,对于在相似物种的相似组织中具有相似家族的行,这些重复行的计算应该相同。也许我描述的不是很好,但如果你看一下可以理解的输出。谢谢
【问题讨论】:
标签: r loops dataframe for-loop conditional-statements