Mam dwie ramki danych DF1 i df2:Utwórz nową kolumnę w ramce danych za pomocą pętli for, aby obliczyć wartość w R?
group=c("Group 1", "Group 2", "Group3","Group 1", "Group 2", "Group3")
year=c("2000","2000","2000", "2015", "2015", "2015")
items=c("12", "10", "15", "5", "10", "7")
df1=data.frame(group, year, items)
year=c("2000", "2015")
items=c("37", "22")
df2=data.frame(year,items)
DF1 zawiera liczbę elementów rocznie i oddzielone przez grupy i df2 zawiera całkowitą liczbę pozycji rocznie
Próbuję utwórz pętlę for, która obliczy proporcję elementów dla każdego typu grupy. Próbuję zrobić coś takiego:
df1$Prop="" #create empty column called Prop in df1
for(i in 1:nrow(df1)){
df1$Prop[i]=df1$items/df2$items[df2$year==df1$year[i]]
}
gdzie pętla ma się proporcję dla każdego typu elementu (poprzez uzyskanie wartości z DF1 i dzieląc przez całkowitą w DF2) i wymienić je w nowa kolumna, ale ten kod nie działa.
tylko pytanie: dlaczego '' 'w wektorze' items'? wartości są liczbami, ale z twoją składnią są przeliczane na czynniki. – SabDeM