R 在4列中创建2列

R 在4列中创建2列,r,dataframe,R,Dataframe,假设我有一个data.frame,如下所示: structure(list(HUGO.Int1 = c("AATF", "AATF", "AATF", "ABHD16A", "ABHD16A", "ABHD16A"), Mut.Int1 = c(0, 0, 0, 0, 0, 0), HUGO.Int2 = c("DAPK3", "PAWR", "CHEK1", "RNF5", "ATP5G3", "HM13"), Mut.Int2 = c(0, 0, 0, 0, 0, 0)), .Name

假设我有一个data.frame,如下所示:

structure(list(HUGO.Int1 = c("AATF", "AATF", "AATF", "ABHD16A", 
"ABHD16A", "ABHD16A"), Mut.Int1 = c(0, 0, 0, 0, 0, 0), HUGO.Int2 = c("DAPK3", 
"PAWR", "CHEK1", "RNF5", "ATP5G3", "HM13"), Mut.Int2 = c(0, 0, 
0, 0, 0, 0)), .Names = c("HUGO.Int1", "Mut.Int1", "HUGO.Int2", 
"Mut.Int2"), row.names = c(12223L, 15033L, 31655L, 11280L, 11463L, 
14106L), class = "data.frame")
我希望
HUGO.Int2
Mut.Int2
低于
HUGO.Int1
Mut.Int1

我试过了

data.frame(rbind(c(plots$HUGO.Int1, plots$Mut.Int1), 
           c(plots$HUGO.Int2, plots$Mut.Int2)))

但是,我只返回了两列,
Hugo.int1
Mut.int1
。我想知道如何正确地将第3列和第4列粘贴到第1列和第2列下面。

不确定这是否是您想要的,但它可以工作:

data1 <- structure(list(HUGO.Int1 = c("AATF", "AATF", "AATF", "ABHD16A", 
"ABHD16A", "ABHD16A"), Mut.Int1 = c(0, 0, 0, 0, 0, 0), HUGO.Int2 = c("DAPK3", 
"PAWR", "CHEK1", "RNF5", "ATP5G3", "HM13"), Mut.Int2 = c(0, 0, 
0, 0, 0, 0)), .Names = c("HUGO.Int1", "Mut.Int1", "HUGO.Int2", 
"Mut.Int2"), row.names = c(12223L, 15033L, 31655L, 11280L, 11463L, 
14106L), class = "data.frame")

data2 <- cbind(data1$HUGO.Int2, data1$Mut.Int2)
data1$HUGO.Int2 <- NULL
data1$Mut.Int2 <- NULL
colnames(data2) <- colnames(data1)
data3 <- rbind(data1,data2)


> data3 
      HUGO.Int1 Mut.Int1
12223      AATF        0
15033      AATF        0
31655      AATF        0
11280   ABHD16A        0
11463   ABHD16A        0
14106   ABHD16A        0
7         DAPK3        0
8          PAWR        0
9         CHEK1        0
10         RNF5        0
11       ATP5G3        0
12         HM13        0

data1不确定这是否是您想要的,但它可以工作:

data1 <- structure(list(HUGO.Int1 = c("AATF", "AATF", "AATF", "ABHD16A", 
"ABHD16A", "ABHD16A"), Mut.Int1 = c(0, 0, 0, 0, 0, 0), HUGO.Int2 = c("DAPK3", 
"PAWR", "CHEK1", "RNF5", "ATP5G3", "HM13"), Mut.Int2 = c(0, 0, 
0, 0, 0, 0)), .Names = c("HUGO.Int1", "Mut.Int1", "HUGO.Int2", 
"Mut.Int2"), row.names = c(12223L, 15033L, 31655L, 11280L, 11463L, 
14106L), class = "data.frame")

data2 <- cbind(data1$HUGO.Int2, data1$Mut.Int2)
data1$HUGO.Int2 <- NULL
data1$Mut.Int2 <- NULL
colnames(data2) <- colnames(data1)
data3 <- rbind(data1,data2)


> data3 
      HUGO.Int1 Mut.Int1
12223      AATF        0
15033      AATF        0
31655      AATF        0
11280   ABHD16A        0
11463   ABHD16A        0
14106   ABHD16A        0
7         DAPK3        0
8          PAWR        0
9         CHEK1        0
10         RNF5        0
11       ATP5G3        0
12         HM13        0

data1问题是你把
rbind
卡在那里,有点随机。这可能是您的尝试应该是这样的:

dat <- structure(list(HUGO.Int1 = c("AATF", "AATF", "AATF", "ABHD16A", 
+ "ABHD16A", "ABHD16A"), Mut.Int1 = c(0, 0, 0, 0, 0, 0), HUGO.Int2 = c("DAPK3", 
+ "PAWR", "CHEK1", "RNF5", "ATP5G3", "HM13"), Mut.Int2 = c(0, 0, 
+ 0, 0, 0, 0)), .Names = c("HUGO.Int1", "Mut.Int1", "HUGO.Int2", 
+ "Mut.Int2"), row.names = c(12223L, 15033L, 31655L, 11280L, 11463L, 
+ 14106L), class = "data.frame")
> data.frame(col1 = c(dat[,1],dat[,3]),col2 = c(dat[,2],dat[,4]))
      col1 col2
1     AATF    0
2     AATF    0
3     AATF    0
4  ABHD16A    0
5  ABHD16A    0
6  ABHD16A    0
7    DAPK3    0
8     PAWR    0
9    CHEK1    0
10    RNF5    0
11  ATP5G3    0
12    HM13    0
dat data.frame(col1=c(dat[,1],dat[,3]),col2=c(dat[,2],dat[,4]))
col1 col2
1 AATF 0
2 AATF 0
3 AATF 0
4 ABHD16A 0
5 ABHD16A 0
6 ABHD16A 0
7 DAPK3 0
8帕沃0
9支票10
10 RNF5 0
11 ATP5G3 0
12 HM13 0

问题是你把
rbind
卡在那里,有点随机。这可能是您的尝试应该是这样的:

dat <- structure(list(HUGO.Int1 = c("AATF", "AATF", "AATF", "ABHD16A", 
+ "ABHD16A", "ABHD16A"), Mut.Int1 = c(0, 0, 0, 0, 0, 0), HUGO.Int2 = c("DAPK3", 
+ "PAWR", "CHEK1", "RNF5", "ATP5G3", "HM13"), Mut.Int2 = c(0, 0, 
+ 0, 0, 0, 0)), .Names = c("HUGO.Int1", "Mut.Int1", "HUGO.Int2", 
+ "Mut.Int2"), row.names = c(12223L, 15033L, 31655L, 11280L, 11463L, 
+ 14106L), class = "data.frame")
> data.frame(col1 = c(dat[,1],dat[,3]),col2 = c(dat[,2],dat[,4]))
      col1 col2
1     AATF    0
2     AATF    0
3     AATF    0
4  ABHD16A    0
5  ABHD16A    0
6  ABHD16A    0
7    DAPK3    0
8     PAWR    0
9    CHEK1    0
10    RNF5    0
11  ATP5G3    0
12    HM13    0
dat data.frame(col1=c(dat[,1],dat[,3]),col2=c(dat[,2],dat[,4]))
col1 col2
1 AATF 0
2 AATF 0
3 AATF 0
4 ABHD16A 0
5 ABHD16A 0
6 ABHD16A 0
7 DAPK3 0
8帕沃0
9支票10
10 RNF5 0
11 ATP5G3 0
12 HM13 0
df
df另一种方式:

names(x) <- chartr('12', 'XX', names(x)) # replaces 1s and 2s in names with 'X'
rbind(x[1:2], x[3:4])
名称(x)另一种方式:

names(x) <- chartr('12', 'XX', names(x)) # replaces 1s and 2s in names with 'X'
rbind(x[1:2], x[3:4])

name(x)我也很好的修复了我不得不说我更喜欢这个!我也很好修复我不得不说我更喜欢这个!