0
我想初始化一個data.frame列看起來如此:添加一列空data.frame
df$newCol = 1
其中Df是我剛纔定義的,並且已經做了一些處理上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
}