2011-10-30 83 views

回答

31

如下

Nth.delete<-function(dataframe, n)dataframe[-(seq(n,to=nrow(dataframe),by=n)),] 

您可以創建一個功能讓我們測試一下

DF<-data.frame(A=1:15, B=rnorm(15), C=sample(LETTERS,15)) 
Nth.delete(DF, 3) 
+2

so df [ -rowNumber]刪除那個特定的行 – MySchizoBuddy

+0

這是正確的 –

7

如果你想從一個數據幀或向量等使用模子集獲得的每個第n列...

通過在這裏重複設置 作爲模3選擇第n列(根據需要選擇第n個)

> x <- c(1,2,3,4,5,6) 
> d <- rbind(x,x,x) 
> df <- as.data.frame(d, row.names=T) 
> c <- 1:ncol(df) 
> c 
[1] 1 2 3 4 5 6 
c%%3 ### nth cycle, here every 3 
[1] 1 2 0 1 2 0 

#select the every 3rd column of every 3 
> df[, c%%3==0] 
    V3 V6 
1 3 6 
2 3 6 
3 3 6 

#every first column of every 3 
> df[, c%%3==1] 
    V1 V4 
1 1 4 
2 1 4 
3 1 4 

#every 2nd column of every 3 
> df[, c%%3==2] 
    V2 V5 
1 2 5 
2 2 5 
3 2 5 


#drop the 3rd columns 
> df[, !(c%%3==0)] 
    V1 V2 V4 V5 
1 1 2 4 5 
2 1 2 4 5 
3 1 2 4 5 

等...交換Ç< -nrow(DF)的子集化行..