ich eine Spalte in einem data.frame zu leeren initialisieren wollen sehen so:Fügen Sie eine Spalte data.frame
df$newCol = 1
wo df ist ein data.frame, die ich früher definiert haben und bereits einige Verarbeitung erfolgt auf . Solange nrow (df)> 0, das ist kein Problem, aber manchmal meine data.frame hat Zeilenlänge 0 und I erhalten:
> df$newCol = 1
Error in `[[<-`(`*tmp*`, name, value = 1) :
1 elements in value to replace 0 elements
Ich kann durch die Änderung meiner ursprünglichen Linie zu
dieses Problem umgehenaber das scheint ein bisschen ungeschickt und ist rechenintensiv, wenn die Anzahl der Zeilen in df groß ist. Gibt es eine eingebaute oder Standardlösung für dieses Problem? Oder sollte ich einige benutzerdefinierte Funktion verwenden, wie so
addCol = function(df,name,value) {
if(nrow(df)==0){
df[,name] = rep(value,0)
}else{
df[,name] = value
}
df
}