2017-07-03 177 views
0

假設我有一個包含192行的數據幀,並且我希望選擇12行。如何從R中的數據幀中選擇12行數據

即選擇前12行,然後選擇25行到36行,然後選擇49行到60行。

如何在R中做到這一點?

+1

[選擇列表中的多個部分]的可能的複製(https://stackoverflow.com/questions/ 14794602 /選擇多個部分的列表),另外[按塊創建一系列索引](https://stackoverflow.com/questions/42954495/create-a-sequence-of-indexes-by-塊/) –

+0

請閱讀如何問 - https://stackoverflow.com/help/how-to-ask/。 *搜索和研究*。經常會問到類似這樣的問題。搜索示例「[r]在數據框中選擇行」,這通常會幫助您提供線索。請參閱[1](https://stackoverflow.com/a/21915056/4606130),瞭解更復雜的工作[2](https://stackoverflow.com/q/11612235/4606130)。 – micstr

回答

1

你可以這樣做在讀該矢量使用再循環技術(df是您的數據幀):

df[rep(c(TRUE, FALSE), each = 12),] 
+1

這工作..謝謝 – Pramod

2

iris數據爲例。

只需使用iris[1:12,]用於第一12行:

# Sepal.Length Sepal.Width Petal.Length Petal.Width Species 
#1   5.1   3.5   1.4   0.2 setosa 
#2   4.9   3.0   1.4   0.2 setosa 
#3   4.7   3.2   1.3   0.2 setosa 
#4   4.6   3.1   1.5   0.2 setosa 
#5   5.0   3.6   1.4   0.2 setosa 
#6   5.4   3.9   1.7   0.4 setosa 
#7   4.6   3.4   1.4   0.3 setosa 
#8   5.0   3.4   1.5   0.2 setosa 
#9   4.4   2.9   1.4   0.2 setosa 
#10   4.9   3.1   1.5   0.1 setosa 
#11   5.4   3.7   1.5   0.2 setosa 
#12   4.8   3.4   1.6   0.2 setosa 

iris[25:36,]的行25至36,等等。

請注意,iris將被交換到您的數據框的名稱。逗號用於選擇行或列。因此,iris[,1:3]將選擇數據幀的前3列。

+0

這將是更多的手動編碼..你可以放入循環,並從數據幀提取數據 – Pramod

+0

你的意思是你想要一個循環,前12行做一些事情,然後不同行25-36,等等? –

+0

不..我只是想提取12行或者應該由循環完成,因爲數據幀很大 – Pramod