r - 需要从另一列中的数据创建数据表列字符串
问题描述
我正在尝试创建一个列,该列使用数据表中另一列的数据并将其放入字符串中。例如,我的 amt 列的值为 16、24、47 和 32。然后我使用 floor(d$amt/10)*10 来获得 10、20、40 和 30 的结果。我想要的列create 将是一列字符串“10-19%”、“20-29%”等。
基本上我想用
cat(floor(d$amt/10)*10, '-', floor(d$amt/10)*10+9, '%', sep="")
但这并没有给出新的专栏。
我尝试将值放入一个临时数组并使用 for 循环创建另一个数组,但我不断收到替换长度为 0 的错误。
temp = floor(d_1990$amt/10)*10
ret = rep(0, 267)
for (i in 1:length(temp)) {
print(i)
x = temp[i]
ret[i] = cat(x, '-', x+10, '%', sep="")
}
解决方案
cut
或者Hmisc::cut2()
绝对是去这里的方式,但您也可以通过以下方式处理您的方法:
df <- data.frame(amt = c(16, 24, 47, 32))
df$label <- paste0(floor(df$amt / 10) * 10, "-", floor(df$amt / 10) * 10 + 9, "%")
推荐阅读
- android - 仅向特定视图显示 Firebase 应用内消息
- javascript - 在 Chrome Overrides 中覆盖动态文件
- datetime - parseDateTime 输出差异
- python - 无法抓取辩论者之间的对话以便将它们放入字典
- mongodb - 查找两个字段的总和并使用结果更新 MongoDB 字段
- javascript - 使用框中的箭头增加 TextBox 中的值
- c# - 如何在 ASP.Net Zero 框架中使用自定义 ID 主键?
- sql-server - 单个 SQL 表的多个 OrderID
- selenium - 如何使用相同的跑步者类为两个单独的黄瓜测试生成两个单独的宁静报告?
- apache-spark - 如何在pyspark中拆除CLOB?