Comment combiner deux lignes dans R?


marcheur

Je voudrais combiner / additionner deux lignes en fonction des noms de lignes pour faire une ligne dans R. Le meilleur itinéraire pourrait être de créer une nouvelle ligne et de additionner les deux lignes ensemble.

Exemple df:

A  1  3  4  6  
B  3  2  7  9
C  6  8  1  2 
D  3  2  8  9

Où A, B, C, D sont des noms de lignes, je veux combiner / additionner deux lignes (A et C) en une seule pour obtenir:

A+C  7  11  5  8  
B    3  2   7  9
D    3  2   8  9

Merci.

Rich Scriven

Vous pouvez remplacer la Aligne à l'aide de l'opérateur arithmétique d'addition standard, puis supprimer la Cligne avec une instruction logique.

df["A", ] <- df["A", ] + df["C", ]
df[rownames(df) != "C", ]
#   V2 V3 V4 V5
# A  7 11  5  8
# B  3  2  7  9
# D  3  2  8  9

Pour plus de deux lignes, vous pouvez utiliser colSums()pour l'ajout. Cela suppose que la première valeur nmest celle que nous remplaçons / conservons.

nm <- c("A", "C")
df[nm[1], ] <- colSums(df[nm, ])
df[!rownames(df) %in% nm[-1], ]

Je vous laisse le soin de changer les noms des lignes. :)

Les données:

df <- structure(list(V2 = c(1L, 3L, 6L, 3L), V3 = c(3L, 2L, 8L, 2L), 
    V4 = c(4L, 7L, 1L, 8L), V5 = c(6L, 9L, 2L, 9L)), .Names = c("V2", 
"V3", "V4", "V5"), class = "data.frame", row.names = c("A", "B", 
"C", "D"))

Articles connexes


Comment combiner deux listes dans R

Rohit Singh: J'ai deux listes: l1 = list(2, 3) l2 = list(4) Je veux une troisième liste: list(2, 3, 4). Comment puis-je le faire de manière simple. Bien que je puisse le faire en boucle for, mais je m'attends à une réponse unique, ou peut-être une méthode in

Comment combiner deux fonctions dans R?

Rafael Jeremiah Jonathans J'ai deux fonctions et je souhaite combiner les deux en une seule fonction. Par exemple, j'ai deux fonctions différentes avec les mêmes arguments multiples comme suit: fun1 <- function(a, b){ print(a * b)} fun2 <- functio

Comment combiner deux lignes en une dans PostgreSQL?

Sagit Khaliullin Je sélectionne les données de 2 tables dans postgres de cette manière: SELECT matches.id id, first_team_id T1, second_team_id T2, name FROM matches JOIN teams ON matches.first_team_id = teams.id UNION SELECT matches.id id, first_team_id T1

MySQL comment combiner deux lignes en une

caboose0013: Bonjour stackoverflow, J'utilise mysql 8 avec le tableau suivant: create table usage_info ( id bigint auto_increment primary key, amount double not null, timestamp datetime null, type varchar null ); données d'exemple: id

Comment combiner des lignes de deux fichiers ?

Lukáš Altman J'ai file1 : 1 5 4 et fichier 2 : 44 65 56 Je veux filer.out : 1 44 5 65 4 56 Merci oguz ismail utiliser pasteavec un délimiteur personnalisé, \nc'est-à-dire un saut de ligne : paste -d '\n' file1 file2 > file.out ou GNU sed : sed 'R file2' fi

Comment combiner des lignes en double dans R ?

Kevin Tracey J'utilise R pour créer un bloc de données avec plusieurs colonnes en double. Je voudrais consolider toutes les colonnes dupliquées en une seule colonne. Comment faire cela en R ? Note 1 : Lorsque je construis des dataframes avec plusieurs colonnes