2017-12-16 1 views
0

Wie fügt man am besten eine Sequenzspalte in einer data.table hinzu, abhängig von einem festen ausgewählten Wert und einem durch eine Spalte definierten Wert. Das folgende Beispiel zeigt die Eingabe und die gewünschte Ausgabe:Hinzufügen von Spalten dynamisch in Datentabellen in Abhängigkeit von einem Spaltenwert

library(data.table) 

# Input 
# Add a column sequence till 7 starting from the value of column V2. 
dt <- data.table(c("A","D","H"), c(2, 4, 5)) 

# Desired Ouput 
dt <- data.table(c(rep("A", 6), rep("D", 4), rep("H", 3)), new_column = c(2:7, 4:7, 5:7)) 
dt 

Antwort

4

Erreicht dies, wonach Sie suchen?

dt[ , .(new_column = V2:7), by = V1 ] 

output:

V1 new_column 
1: A   2 
2: A   3 
3: A   4 
4: A   5 
5: A   6 
6: A   7 
7: D   4 
8: D   5 
9: D   6 
10: D   7 
11: H   5 
12: H   6 
13: H   7 
+0

Perfekt @rosscova. –

Verwandte Themen