【问题标题】:Basic R routine: renaming values in a data.frame column基本 R 例程:重命名 data.frame 列中的值
【发布时间】:2016-05-27 11:57:07
【问题描述】:

我希望这是问我问题的正确地方:我想用“m”/“f”替换我的 data.frame 的性别列中较长的男性/女性字符串。如何构建一个通配符函数,说明“如果字符串以 m/f 开头,则将其值设置为 m/f”?

可能的数据:

df <- data.frame(list(A=c("fem","mal"), B=c(12, 17)))

非常感谢

【问题讨论】:

  • dat$sex &lt;- substr(dat$sex, 1, 1)?
  • if (df$A=="fem") df$A=="f"
  • 很多方法:substring(x, 1, 1) 或使用 stringrstringi 等软件包
  • 谢谢! substr 是完美的 :) 我在哪里可以找到 data.frame 编辑的基本指南?我还会遇到几个问题,比如如何将“,”变成“。”在我的数据框的一列中..

标签: r dataframe


【解决方案1】:
df$A <- substring(df$A, 1, 1)
df
#   A  B
# 1 f 12
# 2 m 17

【讨论】:

  • 我猜这个问题比 OP 目前显示的要广泛。如果你有 "fem" 和 "mal" 以外的其他字符串,它将失败。
  • 任何其他不以字母“m”或“f”开头的字符串
  • 事实上,我有更宽的字符串(用另一种语言),并且代码可以将字符串减少到其首字母。我一直在寻找:)
  • @Mac 最好在提问时更具体一些,谢谢。
  • 嗯,好的。我只有这两个字符串(提前删除了所有 NA),所以这些解决方案对我来说非常有用。
猜你喜欢
  • 2020-05-22
  • 1970-01-01
  • 2015-12-09
  • 1970-01-01
  • 2016-08-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多