我有以下代码:
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(= no)和1(= yes)的代码。现在我想将这三个变量视为分类变量,因此我想获得isNoun,isVerb和标签的频率表,而不是平均值。 我用函数as.factor(isNoun)尝试了这个,但它没有用。
答案 0 :(得分:2)
问题是您首先要创建一个矩阵,其元素必须是相同的类型,然后转换为数据框。您必须从头开始创建数据框:
alles <- data.frame(isNoun = as.factor(isNoun),
isVerb = as.factor(isVerb),
length,
labels = as.factor(labels))