J'ai un data.frame avec 3 colonnes. J'ai beaucoup de différentes "souches" avec beaucoup de différents "TE" correspondant à leur fréquence. Ce que je veux faire, c'est pour chaque TE savoir combien de souches sont dans la même gamme pour une valeur donnée de TEfréquence.Données de sous-ensemble utilisant deux variables et le résumant
dt <- as.data.table(read.table(header=TRUE,text=" strain TE TEfrequency
1 S1 FBti0015567 0.000000
2 S2 FBti0015567 0.000000
3 S3 FBti0015567 42.857143
4 S1 FBti0018865 25.000000
5 S2 FBti0018865 3.225806
6 S3 FBti0018865 33.333333"))
> head(dt)
strain TE TEfrequency
1 S1 FBti0015567 0.000000
2 S2 FBti0015567 0.000000
3 S3 FBti0015567 42.857143
4 S1 FBti0018865 25.000000
5 S2 FBti0018865 3.225806
6 S3 FBti0018865 33.333333
Par exemple, dans ce jeu de données factice pour FBti0015567
si je veux interroger pour des fréquences inférieures à 10% j'obtenir un 2 pour FBti0015567 (S1 + S2) et 1 pour FBti0018865 (S2).
TE num_strains
FBti0015567 2
FBti0018865 1
Pour une requête de> 20%
TE num_strains
FBti0015567 1
FBti0018865 2
Mon approche naïve est de faire un sous-ensemble pour chaque combinaison de valeurs, mais cela est impossible parce que j'ai plus de 40 souches et plus de 1400 TE de . Existe-t-il un moyen facile d'obtenir un tableau résumant ces informations par TE avec un intervalle de fréquence d'entrée?
Merci d'avance.
pourrait vous fournissez un petit exemple de jeu de données et le résultat attendu pour le tableau d'exemple que vous avez déjà fourni? – lmo
J'ai emprunté le code pour l'ensemble de données de MikeyMike et ajouté quelques exemples de sortie. – biojl