使用包含R

时间:2019-04-05 20:46:49

标签: r

这是一个很容易提出的问题,但很难找到。频率在各处使用。我尝试了一个同义词(权重),但是由于mtcars的使用如此广泛,所以我也得到了很多错误的否定词。同样重要的是。

我正在看datasets::HairEyeColor,部分转载于此:

    Hair   Eye    Sex Freq
1  Black Brown   Male   32
2  Brown Brown   Male   53
3    Red Brown   Male   10
4  Blond Brown   Male    3
5  Black  Blue   Male   11
6  Brown  Blue   Male   50
7    Red  Blue   Male   10
8  Blond  Blue   Male   30
9  Black Hazel   Male   10
10 Brown Hazel   Male   25
.
.
.

当尝试向某人展示如何制作HairEyeGender中的任意两个的拼接图时,我可以理解这一点。初读时,我没有看到一种指定列的方式来指定“此列代表32个set成员”,但是我并不太仔细阅读。

我想我每次使用频率列接收数据时都可以使用melt()reshape()来重塑数据,但这似乎太过激烈了。

我所知道的其他语言中,我可以向拟合函数添加一个参数,以使它知道“这组级别不仅只有一行,而且有 n 个。因此,如果我想查看分布,我可能会说 DISTR(Y =头发,FREQ =频率) ...将生成直方图或密度图,每行 n 个值

或者, lm(头发〜眼睛+性别,数据=“ HairEyeColor”,频率=“频率”) 如果第一行而不是1,则将具有32个重复的线性模型。

我在问一种使用第一行中的32个(例如)告诉建模或图形函数的方法,该级别组合有32种情况,第二行中有53种情况,等等。

当然,这类数据显示了很多。我一直都在看,但是通常有一种说法可以说,这个数字指定了该行在实际数据中代表的频率。而不是包含32行黑色,棕色,男性的数据表,而是一行频率为32的行。

(请不要使用plyr。)

1 个答案:

答案 0 :(得分:1)

不,没有标准的方法可以在所有R中使用此类数据。

许多基本建模功能,例如lmglmnlsloess,以及来自stats包的更多{{{ 1}}参数将满足您的需求。 weights接受任何一种格式的数据。但是许多其他建模函数却没有,例如prop.testknn,以及许多其他不在基数R中的函数。

princomp接受两种格式的输入。 barplot期望输入作为汇总列联表。其他类型的图则需要更多的自定义处理,因为您可以通过频率来完成许多不同的事情。

当然,在R基中不存在的内容取决于写它的人。

mosaicplot(不是基于R的)通常可以很好地处理此问题,例如,ggplot2将默认堆积值,或者在散点图的情况下,您可以映射geom_barsizecolor以可视方式传达强度。

alpharandomForest不接受重量


我会说,我很少发现这是一个问题。我鼓励您提出有关问题的具体方法。我认为xgboost是一个不好的例子,因为它期望有一个列联表,所以问题就相反了:将它与分解后的数据一起使用将需要首先将其汇总到一个频率表中。