我正在尝试将data.frame
转换为table
,不包。基本上我将the following playground example作为参考,并尝试从数据框,包括命名或未命名的向量。数据集来自kaggle的stackoverflow调查。
moreThan1000
是data.frame
个存储国家/地区,这些国家/地区拥有超过1000个stackoverflow用户并按数字列排序,如下所示:
moreThan1000 <- subset(users, users$Number >1000)
moreThan1000 <- moreThan1000[order(moreThan1000$Number),]
当我尝试将其转换为table
之类的
tbl <- table(moreThan1000)
tbl <- table(moreThan1000$Country, moreThan1000$Number)
tbl <- table(moreThan1000$Country, moreThan1000$Number, dnn = c("Country","Number"))
为什么moreThan1000 data.frame
不会仅将相关国家/地区发送到table
所有国家?在我看来,转换看起来像matrix
。
答案 0 :(得分:1)
我认为这是因为各国之间没有关系。每个国家对应一个号码,另一个国家将对应一个不相关的号码。因此,反映这一点的最佳方法是原始2 * len_search
,而不是每行只有一个data.frame
的表(除非两个国家/地区的stackoverflow用户数相同)。我没有下载您正在使用的数据集,但请查看假数据集会发生什么,按照您的1
编号顺序排序。
moreThan1000
为什么你会期望与数据集有什么不同?
答案 1 :(得分:0)
函数“table”用于制表您的数据。
因此它将计算每个值发生的频率(在“数字”列中!)。在您的情况下,每个数字只出现一次,因此不要在此处使用此功能。它工作正常,但这不是你需要的。
您的数据已经是一个列表,无需再次计算频率。
您可以检查是否存在对象转换功能,我猜您正在寻找功能as.table
而不是table
。