1

我试图在 R 中获取我的数据子集。我试过这个,但我得到了意想不到的结果!

>str(data)
num [1:500, 1:2000] 5.65
>y<-c("rowname1"   , "rowname2", ... )
> spotA<-data[y]

NULL
> spotA
 [1] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA

我也尝试了以下方式:

>spotA<-data[c("rowname1"   , "rowname2", ... )]

我得到了上述结果。我期望得到带有数字条目的尺寸为 16 2000 的 sotA ,而不是 NA !有人可以帮助我我的错误在哪里吗?

4

1 回答 1

1

尝试这个:

data<-as.data.frame(matrix(runif(20),nrow=10,ncol=2));
y<-paste("row",row.names(data),sep=".")
row.names(data)<-y
data;
             V1         V2
row.1  0.3108385 0.09000282
row.2  0.3254967 0.44500053
row.3  0.3993356 0.71400316
row.4  0.2039391 0.11712378
row.5  0.4105687 0.70830021
row.6  0.5245575 0.36039628
row.7  0.2277783 0.71712201
row.8  0.6282813 0.33950400
row.9  0.1005018 0.94331287
row.10 0.3843297 0.58610738

data[row.names(data)%in%y[c(2,4,5,8,9)],]
             V1        V2
row.2 0.3254967 0.4450005
row.4 0.2039391 0.1171238
row.5 0.4105687 0.7083002
row.8 0.6282813 0.3395040
row.9 0.1005018 0.9433129
于 2013-09-23T14:22:44.257 回答