Mon objectif est le même que celui expliqué ici: How to remove rows with 0 values using RComment supprimer des lignes avec tous les zéros dans R sans avoir erreur dans x »rowSums doit être numérique
J'ai créé DF1 en lisant un fichier .csv containg environ 50000 lignes, beaucoup avec 0 0 0 0 dans les colonnes FPKM. trame de données d'entrée:
tracking_id gene_id locus FPKM-R1 FPKM-R2 FPKM-R3 FPKM-R4 NR_1 DDX1 chr1:1 0.031 0.056 0.0045 0.0345 NR_2 DDX2 chr1:2 3.06588 3.65986 5.32698 3.6996 NR_3 DDX3 chr1:4 0 0 0 0 NR_4 DDX4 chr1:4 0 0 0 0 NM_5 DDX5 chr1:5 0 0 0.046985 0
souhaité trame de données de sortie:
tracking_id gene_id locus FPKM-R1 FPKM-R2 FPKM-R3 FPKM-R4 NR_1 DDX1 chr1:1 0.031 0.056 0.0045 0.0345 NR_2 DDX2 chr1:2 3.06588 3.65986 5.32698 3.6996 NM_5 DDX5 chr1:5 0 0 0.046985 0
Je suis en train d'appliquer la solution de rowSums tel que proposé dans le poste passé:
df2 <- df1[rowSums(df1[, -3]) > 0, ]
mais je suis obtenir
Error in rowSums(df1[, -3]) : 'x' must be numeric
J'ai vérifié que les données contenues dans les quatre colonnes FPKM-R est numérique. Je ne comprends pas pourquoi cette erreur se produit et ce que je peux faire pour y remédier. Merci!
Peut-être que vous voulez 'DF1 [, - (1: 3)]'? –
Oui, merci beaucoup! – jap
@jap. S'il y a plus de colonnes et de colonnes de caractères dispersées, 'df1 [rowSums (df1 [spply (df1, is.numeric)])> 0,]' – akrun