分层data.frame会导致R中的零行/观测值
我使用以下命令将我的分层data.frame会导致R中的零行/观测值,r,database,dataframe,row,R,Database,Dataframe,Row,我使用以下命令将我的数据进行分层。frame(80列,10.000行)通过因子变量school,分为两个级别(0:high,1:low): high.school=data.frame[which(data.frame$school==0) , ] low.school=data.frame[which(data.frame$school==1) , ] 但是它产生了两个data.frames,包含所有80列,但包含0行。为什么不考虑这些行 谢谢 简短回答为什么要用哪个? 让我们试试这个 &g
数据进行分层。frame
(80列,10.000行)通过因子变量school
,分为两个级别(0:high,1:low
):
high.school=data.frame[which(data.frame$school==0) , ]
low.school=data.frame[which(data.frame$school==1) , ]
但是它产生了两个data.frames
,包含所有80列,但包含0行。为什么不考虑这些行
谢谢 简短回答为什么要用哪个?
让我们试试这个
> DF=NULL
> DF$school=as.factor(sample(c(0,1),10000,T))
> DF=as.data.frame(DF)
> head(DF)
school
1 0
2 0
3 1
4 1
5 0
6 1
> str(DF)
'data.frame': 10000 obs. of 1 variable:
$ school: Factor w/ 2 levels "0","1": 1 1 2 2 1 2 1 2 2 2 ...
你可以看到学校的因子值是1,2,而因子水平是0,1
现在试试下面的方法
> df2=DF[DF$school==1,]
> df3=DF[DF$school==0,]
> str(df2)
Factor w/ 2 levels "0","1": 2 2 2 2 2 2 2 2 2 2 ...
> str(df3)
Factor w/ 2 levels "0","1": 1 1 1 1 1 1 1 1 1 1 ...
> head(df2)
[1] 1 1 1 1 1 1
Levels: 0 1
> head(df3)
[1] 0 0 0 0 0 0
Levels: 0 1
检查变量名-学校
。您可能写错了。您的数据框的名称真的是data.frame
?使用data.frame
作为对象名可能不是一个好主意。另外,您能给我们看一下应用于您的数据框的str
结果吗?写得正确。这只是一个通用名称,我的数据框不调用data.frame。我的数据框有数字和因子字符。