0

我有一个名为 的数据框,current如下所示:

         V1           V2     V3    V4         V5
1  ILMN_1769720 ILMN_1705907  0 M0039 0.05788020
2  ILMN_1769720 ILMN_1715886  0 M0039 0.07251432
3  ILMN_1769720 ILMN_1652024  0 M0039 0.07069892
4  ILMN_1769720 ILMN_1759792  0 M0039 0.05534454
5  ILMN_1769720 ILMN_1783702  0 M0039 0.07328273
6  ILMN_1769720 ILMN_1763347  0 M0039 0.07546538
7  ILMN_1769720 ILMN_1777261  0 M0039 0.07563834
8  ILMN_1769720 ILMN_1699476  0 M0039 0.06454540
9  ILMN_1769720 ILMN_1813120  0 M0039 0.06648999
10 ILMN_1705907 ILMN_1715886  0 M0039 0.07282304

我想挑出第 1 列的第 1 个值、第 2 列的第 1 个值、第 2 列的第 2 个值、第 2 列的第 3 个值、第 2 列的第 4 个值、第 2 列的第 5 个值、第 2 列的第 6 个值第 2 列、第 2 列的第 7 个值、第 2 列的第 8 个值和第 2 列的第 9 个值,并将所有这些组合成一个如下所示的数据框:

         V1          
1  ILMN_1769720 
2  ILMN_1705907
3  ILMN_1715886
4  ILMN_1652024
5  ILMN_1759792
6  ILMN_1783702
7  ILMN_1763347
8  ILMN_1777261
9  ILMN_1699476
10 ILMN_1813120

到目前为止,我已经尝试过as.data.frame(current[1,1],current[1,2],current[2,2],current[3,2],current[4,2],current[5,2],current[6,2],current[7,2],current[8,2],current[9,2]),但它似乎不起作用。我也尝试过rbind(current[1,1],current[1,2],current[2,2],current[3,2],current[4,2],current[5,2],current[6,2],current[7,2],current[8,2],current[9,2]),但这也不起作用。有什么建议么?

4

2 回答 2

1

如果你的 data.frame 被命名为 dat 你可以使用mapply如下:

data.frame(V1 = mapply(function(x, y) dat[x, y], c(1, 1:9), c(1, rep(2, 9))))

##              V1
## 1  ILMN_1769720
## 2  ILMN_1705907
## 3  ILMN_1715886
## 4  ILMN_1652024
## 5  ILMN_1759792
## 6  ILMN_1783702
## 7  ILMN_1763347
## 8  ILMN_1777261
## 9  ILMN_1699476
## 10 ILMN_1813120
于 2013-08-01T18:14:08.457 回答
1
current <- read.table(header=TRUE,row.names=1,text="V1           V2     V3    V4         V5
1  ILMN_1769720 ILMN_1705907  0 M0039 0.05788020
2  ILMN_1769720 ILMN_1715886  0 M0039 0.07251432
3  ILMN_1769720 ILMN_1652024  0 M0039 0.07069892
4  ILMN_1769720 ILMN_1759792  0 M0039 0.05534454
5  ILMN_1769720 ILMN_1783702  0 M0039 0.07328273
6  ILMN_1769720 ILMN_1763347  0 M0039 0.07546538
7  ILMN_1769720 ILMN_1777261  0 M0039 0.07563834
8  ILMN_1769720 ILMN_1699476  0 M0039 0.06454540
9  ILMN_1769720 ILMN_1813120  0 M0039 0.06648999
10 ILMN_1705907 ILMN_1715886  0 M0039 0.07282304")

data.frame(V1=c(as.character(current[1,1]),as.character(current[1:9,2])))
             V1
1  ILMN_1769720
2  ILMN_1705907
3  ILMN_1715886
4  ILMN_1652024
5  ILMN_1759792
6  ILMN_1783702
7  ILMN_1763347
8  ILMN_1777261
9  ILMN_1699476
10 ILMN_1813120
于 2013-08-01T18:15:10.937 回答