R 在4列中创建2列
假设我有一个data.frame,如下所示: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
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
dfdf另一种方式:
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)我也很好的修复了我不得不说我更喜欢这个!我也很好修复我不得不说我更喜欢这个!