ds1*_*s10 4 r subset dataframe pie-chart
我想从数据帧列中出现的次数中创建一个饼图.但是,在制作饼图之前,我想要删除5个单词.我有一个数据框,我可以使用以下内容删除这些行:
subset(df, tag != "rubbish")
Run Code Online (Sandbox Code Playgroud)
但是,如果我然后使用
pie(table(df$tag)
Run Code Online (Sandbox Code Playgroud)
垃圾仍然出现在饼图中,但是有零实例.
table(df$tag)
在子集之前给了我类似的东西:
tag1 3
tag2 7
rubbish 9
Run Code Online (Sandbox Code Playgroud)
之后:
tag1 3
tag2 7
rubbish 0
Run Code Online (Sandbox Code Playgroud)
无论如何,如果没有table()返回零,完全删除垃圾?我试过,table(df$tag, exclude="rubbish")
但我想删除多个标签.
我认为问题在于它df$tag
是一个因素或分类变量.从因子中删除某个类别不会更改与该因子关联的级别.table
迭代与因子相关的水平.即使等级为空table
也是如此rubbish 0
.解决方案是在删除标记后重新创建因子:
subset(df, tag != "rubbish")
levels(df$tag)
df$tag = factor(df$tag)
levels(df$tag)
table(df$tag)
Run Code Online (Sandbox Code Playgroud)
我认为这应该可以解决你的问题.