Ich versuche, den Preis eines Produkts in R zu berechnen. Da nicht alle Produkte verkauft wurden, haben einige keinen tatsächlichen Verkaufspreis. Ich möchte den Verkaufspreis berechnen und eine Leerstelle für Werte ohne Verkaufspreis zurückgeben.Bedingte Aufteilung in R
Ich begann mit dieser Funktion, aber es scheint nicht zu funktionieren.
sale.price <- function(price) {
if (CM.sample$Sales > 0) {
return(CM.sample$Sales/CM.sample$Product.Quantity.Purchased)
} else {
return("")
}
}
sale.price <- as.numeric(sapply(sale.price, price))
Dies ist ein Beispiel für meine Daten.
Product Sales Order.Quantity Price
P1 120 2
P2 45 1
P3
P4 25 2
P5
P6 180 3
Idealerweise möchte ich das Endergebnis so aussehen.
Product Sales Order.Quantity Price
P1 120 2 60
P2 45 1 45
P3
P4 25 2 12.5
P5
P6 180 3 60
Sie einige Probleme haben, aber es wird viel einfacher sein, Ihnen zu zeigen, wie sie beheben, wenn Sie Ihre Daten zur Verfügung stellen 'dput' verwenden. Einfügen in Ihre Frage die Ausgabe von 'dput (CM.sample [1: 6,])' – eipi10
Vielen Dank für Ihre Antwort @ eipi10, habe ich versucht Ausgabe mit 'dput' aber die Ausgabe sehr groß und nicht lesbar. Der data.frame ist ziemlich groß und einige Spalten enthalten große Arrays enthalten Strings von Text, weshalb es möglicherweise nicht funktioniert? – Davis