Я хочу, чтобы инициализировать столбец в data.frame выглядеть так:Добавить столбец пустой data.frame
df$newCol = 1
где ДФ является data.frame, что я определил ранее и уже сделали некоторую обработку , Пока nrow (DF)> 0, то это не проблема, но иногда моя data.frame имеет длину строки 0 и я получаю:
> df$newCol = 1
Error in `[[<-`(`*tmp*`, name, value = 1) :
1 elements in value to replace 0 elements
я могу обойти эту проблему, изменив свою первоначальную строку
df$newCol = rep(1,nrow(df))
но это кажется немного неуклюжим и является вычислительно запретительным, если число строк в df велико. Есть ли встроенное или стандартное решение этой проблемы? Или я должен использовать некоторые пользовательские функции, как так
addCol = function(df,name,value) {
if(nrow(df)==0){
df[,name] = rep(value,0)
}else{
df[,name] = value
}
df
}