[英]How do I split a data frame by a specific column value, and then apply functions to columns within the data set?
[英]How do I split a data frame among columns, say at every nth column?
假設我正在使用以下數據框:
Mydata <- data.frame(X1 = c(1,2,3,4,5,6,7,8,9,10),X2 = c(1,3,1,1,1,5,1,1,8,1),
X3 = c(1,2,3,4,5,6,7,8,9,10),X4 = c(1,3,1,1,1,5,1,1,8,1),
X5 = c(1,2,3,4,5,6,7,8,9,10),X6 = c(1,3,1,1,1,5,1,1,8,1),
X7 = c(1,2,3,4,5,6,7,8,9,10),X8 = c(1,3,1,1,1,5,1,1,8,1),
X9 = c(1,2,3,4,5,6,7,8,9,10),X10 = c(1,3,1,1,1,5,1,1,8,1),
X11 = c(1,2,3,4,5,6,7,8,9,10),X12 = c(1,3,1,1,1,5,1,1,8,1))
我想將此數據幀分為三個單獨的數據幀,第一個數據幀中的列X1〜X4,第二個數據幀中的X5〜X8,以及X9〜X12。 我將如何編寫代碼以繼續此模式以用於任意數量的列?
每4列拆分一次Mydata
。 我們可以顯式使用split.default
:
split.default(Mydata, rep(1:3, each = 4))
“默認”方法可以按列拆分數據幀 。 只需根據需要設置分組變量。
對於平衡分組, gl
很方便(請參閱?gl
)。 我們可以在上面使用gl(3, 4)
代替rep(1:3, 4)
,這樣可以避免類型從“整數”轉換為“因數”。
通常,對“每n列”使用gl(ncol(Mydata) / n, n)
( n
必須除以ncol(Mydata)
)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.