2016-04-04 14 views
-1

Meine Frage ist einfach, aber ich bin festalle Fügen Sie die Spalten eines Datenrahmens

ich eine große csv datset haben wie

Fruit Apples Oranges Peaches 
A   1  2  2 
B   1  2  1 
C   1  1  1 

alles was ich brauche unten

gezeigt ist eine Spalte mit einer Gesamtanzahl wie

Fruit 
    A  5   4 3 
+1

Können Sie erklären, was Sie fordern. Du hast gesagt, du willst 1 Spalte, aber du hast eine Zeile mit vielen Spalten. Kannst du das bitte reparieren? – steveb

Antwort

0

Sie wollen also eine andere Spalte, die im Wesentlichen die Summe von Äpfeln, Pfirsichen und Orangen ist? Ich denke, das sollte funktionieren.

#take sum by row 
x=Fruit$Apples + Fruit$Oranges +Fruit$Peaches 
#create the column named x inside the data frame 
dat[,'x'] =x 
0

Vielleicht Sie suchen nach etwas, wie aggregate, welche die Werte von Apples summieren werden, Oranges und Peaches der Kategorie Fruit

set.seed(100) 
    mydata = data.frame(Fruit = rep(c("A", "B", "C"), 5), 
       Apples = rpois(15, 3), 
       Oranges = rpois(15, 3), 
       Peaches = rpois(15, 3)) 
    aggregate(cbind(Apples, Oranges, Peaches) ~ Fruit, mydata, sum) 

denen für jede Kategorie von Fruit eine Zeile Ausgabe entlang mit den Summen:

 Fruit Apples Oranges Peaches 
    1  A  10  17  15 
    2  B  12  13  20 
    3  C  18  15  23 
0

Wir könnenverwenden

df1$Sum <- rowSums(df1[-1]) 
df1$Sum 
#[1] 5 4 3 

Oder nutzen + mit Reduce

Reduce(`+`, df1[-1]) 
#[1] 5 4 3 
Verwandte Themen