R:区分分类预测变量和数字预测变量

R: making a different between categorical and numeric predictors

我有以下代码:

isNoun <- as.factor(isNoun)
isVerb <- as.factor(isVerb)
labels <- as.factor(labels)

alles <- matrix(c(isNoun, isVerb, length,labels), nrow=388,ncol=4)
alles_df <- as.data.frame(alles)
summary(alles_df)
> summary(alles_df)
       V1               V2                V3               V4        
 Min.   :0.0000   Min.   :0.00000   Min.   : 3.000   Min.   :0.0000  
 1st Qu.:1.0000   1st Qu.:0.00000   1st Qu.: 5.000   1st Qu.:0.0000  
 Median :1.0000   Median :0.00000   Median : 6.500   Median :0.0000  
 Mean   :0.9098   Mean   :0.01546   Mean   : 7.193   Mean   :0.2938  
 3rd Qu.:1.0000   3rd Qu.:0.00000   3rd Qu.: 9.000   3rd Qu.:1.0000  
 Max.   :1.0000   Max.   :1.00000   Max.   :18.000   Max.   :1.0000 

其中 isVerb、isNoun 和标签的代码为 0(= 否)和 1(= 是)。现在我想将这三个变量视为分类变量,所以我想获得 isNoun、isVerb 和标签的频率 table,而不是均值。 我已经用函数 as.factor(isNoun) 试过了,但是没有用。

问题是你首先创建了一个矩阵,其元素必须是同一类型,然后你转换为数据框。您必须从头开始创建数据框:

alles <- data.frame(isNoun = as.factor(isNoun),
                    isVerb = as.factor(isVerb),
                    length,
                    labels = as.factor(labels))