假设我有以下内容 data.frame
> df <- data.frame(a=rep(1:3),b=rep(1:3),c=rep(4:6),d=rep(4:6))
> df
a b c d
1 1 1 4 4
2 2 2 5 5
3 3 3 6 6
Run Code Online (Sandbox Code Playgroud)
我希望能够将其拆分df为两个框架df1和df2. 我想df1是的前两列df和df2是的两列df。有没有办法在代码中做到这一点,这样我就不必手动执行以下操作:
> df1 <- df[,1:2]
> df1
a b
1 1 1
2 2 2
3 3 3
> df2 <- df[,3:4]
> df2
c d
1 4 4
2 5 5
3 6 6
Run Code Online (Sandbox Code Playgroud)
这会很好,因为我正在处理的问题有可变数量的列,我只想能够创建n = ncol(df)/2数据框。因此,如果有在上面的例子中2个列,df3会df[,5:6]。
谢谢!
假设您data.frame有一对数量的列,这是一个非常短的代码:
>lapply(seq(1,length(df),2), function(u) df[u:(u+1)])
[[1]]
a b
1 1 1
2 2 2
3 3 3
[[2]]
c d
1 4 4
2 5 5
3 6 6
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1123 次 |
| 最近记录: |