好的 - 很容易将数据帧按像这样的因子分割:
set.seed(10)
df <- data.frame(
x=1:10,
g=rep(factor(LETTERS[1:2]), 5)
)
split(df, df$g)
但我正在努力弄清楚如何通过数值将数据分成列表 - 在本例中为x。我可以设想一个ifelse()
的解决方案,您可以在数据中创建另一个列,条件是您希望数据拆分的位置(例如3)。但我想知道是否有一个更清晰的解决方案,其行为类似于split
,但使用数字的值。这有效,但它增加的代码比我喜欢
df$Group <- ifelse(df$x>3,"Group1","Group2")
split(df, df$Group)
所以在数据框df
中,它是否可以被拆分,以便列表中的一个元素都是大于3的值,而另一个元素都是小于或等于3的值?