作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个看起来像这样的数据框( sampdata
):
A B C D
1 X 5 0.3
2 Y 10 0.9
3 Y 7 0.2
4 Y 5 0.4
5 X 10 0.7
test <- split(sampdata, sampdata$B)
str(test)
testBC <- split(test, test$C)
Error in split.default(test, test$Product) : group length is 0 but data length > 0
testBC <- split(test$B, test$C)
ddply
和
plyr
包裹:
test2 <- ddply(sampdata, c("B", "C"))
A B C D
1 X 5 0.3
5 X 10 0.7
2 Y 10 0.9
3 Y 7 0.2
4 Y 5 0.4
test2$B
)而不是两者来访问特定数据帧。我宁愿简单地基于 B 和 C 的子集生成一个新的数据框,这样:
newdf1
A B C D
1 X 5 .3
5 X 10 .9
newdf2
A B C D
2 Y 7 .2
3 Y 5 .4
4 Y 10 .7
最佳答案
如果我们需要按多列拆分,请将其放在 list
中
split(df1, list(df1$B, df1$C), drop = TRUE)
#$X.5
# A B C D
#1 1 X 5 0.3
#$Y.5
# A B C D
#4 4 Y 5 0.4
#$Y.7
# A B C D
#3 3 Y 7 0.2
#$X.10
# A B C D
#5 5 X 10 0.7
#$Y.10
# A B C D
#2 2 Y 10 0.9
关于r - 按两个因素拆分数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46616791/
我是一名优秀的程序员,十分优秀!