1

私は以下のコードを持っています.m == 2の場合、cdはデータフレームのままで、names(cd)は元のデータフレームdからのものです. ただし、m == 3 の場合、データフレーム内の列は 1 つだけ残り、cd が要素に変わり、名前が失われます...

samplesize <-100
g1 <- gl(2,samplesize/2,labels=c("V","M"))
g2 <- gl(3,samplesize/3,labels=c("V","M","U"))
m <- 2
d <- data.frame(g1,g2)
l <-  sapply(d,nlevels)
cd <- d[,l <= m]
names(cd)

フィルターが 1 つの列しか残さない場合でも、d の名前を保持したいですか?

4

2 に答える 2

5

drop=FALSE最低次元への強制を避けるために使用します。

cd <- d[,l <= m, drop=FALSE]
names(cd)
[1] "g1"
于 2013-06-04T15:50:44.400 に答える