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 に答える