首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何组合R中另一组列下的列组

如何组合R中另一组列下的列组
EN

Stack Overflow用户
提问于 2020-08-04 19:53:19
回答 3查看 67关注 0票数 0

我想做的就是把列1:3和列4:6结合起来。

最后的产品只有3列,col4低于col1,col5低于col2,等等。

我看到的所有解决方案都依赖于数据中不存在的ID列。我查看了道集()、堆栈()、熔体()。我只想把最后3列剪贴在前3栏下面,

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2020-08-04 20:16:04

如果首先将列重命名为匹配,则可以使用rbind函数将前三列下面的最后三列粘贴起来。

代码语言:javascript
运行
复制
names(df) <- rep(names(df)[1:3], 2)
df <- rbind(df[,1:3], df[,4:6])
票数 0
EN

Stack Overflow用户

发布于 2020-08-04 20:09:07

如果列都包含相同的类(即整数),则可以简单地使用rbind()函数将列4:6绑定到列1:3下。

如果它们具有不同的格式,则可以定义具有组合列的新数据集:

代码语言:javascript
运行
复制
new.data = data.frame("First"=c(data[,1],data[,4]),
                      "Second"=c(data[,2],data[,5]),
                      "Third"=c(data[,3],data[,6]))

使用rbind(),您只需添加下面的列,如本例所示:

代码语言:javascript
运行
复制
> dta = matrix(rep(c(1,2,3,4,5,6),6),ncol=6,byrow=T)
> print(dta)
     [,1] [,2] [,3] [,4] [,5] [,6]
[1,]    1    2    3    4    5    6
[2,]    1    2    3    4    5    6
[3,]    1    2    3    4    5    6
[4,]    1    2    3    4    5    6
[5,]    1    2    3    4    5    6
[6,]    1    2    3    4    5    6
> rbind(dta[,1:3],dta[,4:6])
      [,1] [,2] [,3]
 [1,]    1    2    3
 [2,]    1    2    3
 [3,]    1    2    3
 [4,]    1    2    3
 [5,]    1    2    3
 [6,]    1    2    3
 [7,]    4    5    6
 [8,]    4    5    6
 [9,]    4    5    6
[10,]    4    5    6
[11,]    4    5    6
[12,]    4    5    6
票数 0
EN

Stack Overflow用户

发布于 2020-08-04 20:10:30

假设您的数据如下所示,您可以使用基本R中的reshape

代码语言:javascript
运行
复制
a <- head(cbind(iris[1:3], iris[1:3]))
a
  Sepal.Length Sepal.Width Petal.Length Sepal.Length Sepal.Width Petal.Length
1          5.1         3.5          1.4          5.1         3.5          1.4
2          4.9         3.0          1.4          4.9         3.0          1.4
3          4.7         3.2          1.3          4.7         3.2          1.3
4          4.6         3.1          1.5          4.6         3.1          1.5
5          5.0         3.6          1.4          5.0         3.6          1.4
6          5.4         3.9          1.7          5.4         3.9          1.7

要使用的代码:

代码语言:javascript
运行
复制
reshape(a, matrix(names(a), 3), dir="long")

    time Sepal.Length Sepal.Width Petal.Length id
1.1    1          5.1         3.5          1.4  1
2.1    1          4.9         3.0          1.4  2
3.1    1          4.7         3.2          1.3  3
4.1    1          4.6         3.1          1.5  4
5.1    1          5.0         3.6          1.4  5
6.1    1          5.4         3.9          1.7  6
1.2    2          5.1         3.5          1.4  1
2.2    2          4.9         3.0          1.4  2
3.2    2          4.7         3.2          1.3  3
4.2    2          4.6         3.1          1.5  4
5.2    2          5.0         3.6          1.4  5
6.2    2          5.4         3.9          1.7  6
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63254185

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档