创建数字列的分箱值
我有一个包含几列的数据框,其中一列是排名,是 1 到 20 之间的整数。我想创建另一列,其中包含像“1-4”、“5-10”、“11-”这样的 bin 值15”、“16-20”。
最有效的方法是什么?
我的数据框看起来像这样(.csv 格式):
rank,name,info
1,steve,red
3,joe,blue
6,john,green
3,liz,yellow
15,jon,pink
我想在数据框中添加另一列,所以它会像这样:
rank,name,info,binValue
1,steve,red,"1-4"
3,joe,blue,"1-4"
6,john,green, "5-10"
3,liz,yellow,"1-4"
15,jon,pink,"11-15"
我现在这样做的方式不起作用,因为我想保留data.frame 完好无损,如果 df$ranked 的值在给定范围内,则只需添加另一列。谢谢。
I have a dataframe with a few columns, one of those columns is ranks, an integer between 1 and 20. I want to create another column that contains a bin value like "1-4", "5-10", "11-15", "16-20".
What is the most effective way to do this?
the data frame that I have looks like this(.csv format):
rank,name,info
1,steve,red
3,joe,blue
6,john,green
3,liz,yellow
15,jon,pink
and I want to add another column to the dataframe, so it would be like this:
rank,name,info,binValue
1,steve,red,"1-4"
3,joe,blue,"1-4"
6,john,green, "5-10"
3,liz,yellow,"1-4"
15,jon,pink,"11-15"
The way I am doing it now is not working, as I would like to keep the data.frame intact, and just add another column if the value of df$ranked is within a given range. thank you.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
请参阅
?cut
并指定中断
(也可能是标签
)。See
?cut
and specifybreaks
(and maybelabels
).我们可以使用
cutr
包中的smart_cut
:使用 @Andrie 的示例数据:
有关 cutr 和 smart_cut 的更多信息
We can use
smart_cut
from packagecutr
:Using @Andrie's sample data:
more on cutr and smart_cut