r - 重新排列 data.frame(使用 col 名称作为因素)
问题描述
我有以下数据框:
a<-c(1,3,5,6)
b<-c(5,8,9,10)
df<-data.frame(a,b)
colnames(df)<-c('tata','toto')
> df
tata toto
1 1 5
2 3 8
3 5 9
4 6 10
现在,我想创建一个新的 data.frame,如下所示:
> df1
all rep
1 1 toto
2 3 toto
3 5 toto
4 6 toto
5 5 tata
6 8 tata
7 9 tata
8 10 tata
如果 df 有 2 列,则很容易使用
rep1<-c(rep('toto',length(a)))
rep2<-c(rep('tata',length(a)))
rep<-c(rep1,rep2)
all<-c(a,b)
df1<-data.frame(all,rep)
因为我有 98 列,所以我想知道是否有效率。非常感谢
解决方案
你也可以使用收集也许
library(tidyr)
gather(df,key="rep", value = "all")
推荐阅读
- php - 在 Suite CRM 中创建多个自定义列表
- php - 如何使用前缀在 laravel 中重定向?
- python - %f 将数字四舍五入
- java - Mockito 如何模拟和断言抛出的异常
- windows - PL/SQL 在 CONDITION 内使用 SELECT
- javascript - SAPUI5“保存”按钮表单,有 2 个视图
- flutter - 无法使用 Flutter Web 上的图像选择器选择图像(MissingPluginException)
- ajax - 如何在 data-ajax-success 中发送 2 个参数?
- regex - 不匹配某个单词,但如果其他单词在字符串中则匹配
- python-3.x - import xarray 返回“未指定协议”