Sonuç sütun dataframe istenmeden değişiklikler başlığında iki sütun değerleri ekleme

oy
0

Bir veri çerçevesini ve satır toplamının sonucu ile, bir total sütunu eklemek istiyor.

Başlangıç ​​noktası:

var1 var2
  1    2
  1    2
  1    2

İstenen sonuç:

var1 var2 total
  1    2    3
  1    2    3
  1    2    3

Benim kod bunu yapar ama var1 sütunun başlığına toplam sütununun başlığının adını değiştirir. Neden? daha iyi bir çözüm ne olabilir?

İşte benim kodudur:

df<-data.frame( var1=c(1,1,1), var2=c(2,2,2))
df[total]<-0

for (i in 1:2 ){
  df$total = df$total + df[i] 
}
df

Sonuç:

var1 var2 **var1**
  1    2    3
  1    2    3
  1    2    3
Oluştur 24/10/2019 saat 11:59
kaynak kullanıcı
Diğer dillerde...                            


3 cevaplar

oy
0

Sen youe edebilirsiniz mutate()-Fonksiyon

library(tidyverse)

df<-df%>%mutate(total=rowsum(var1,var2))

> df
  var1 var2 total
1    1    2     3
2    1    2     3
3    1    2     3
Cevap 24/10/2019 saat 12:05
kaynak kullanıcı

oy
0

Bu çalışacak ve Sütununuzu ismini değiştirmez. [i]Bir döner data frameburada olarak [[i]]döndüren bir numeric. Yani, bireysel numaralar eklemek istiyorum.

df<-data.frame( "var1"=c(1,1,1), "var2"=c(2,2,2))
df["total"]<-0

for (i in 1:2){
  df$total = df$total + df[[i]] 
}
Cevap 24/10/2019 saat 12:09
kaynak kullanıcı

oy
1

bunu yapmak için doğru yolu vardır:

df$total = df$var1 + df$var2
df[["total"]] = df[["var1"]] + df[["var2"]]

Eğer çift parantez yerine tek parantez kullanırsanız çift parantez not çözüm çalışacak

Ronak önerdi gibidir:

df$total = rowSums(df)
Cevap 24/10/2019 saat 12:09
kaynak kullanıcı

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more