【发布时间】:2013-02-06 23:39:48
【问题描述】:
如果某列具有特定内容(但是,不是确切的内容,而是我使用正则表达式找到的内容),我正在尝试更改 R 数据框中的一列。
例如:
df:
Name City Age
Peter Fort Wayne 15
John South Bend 20
Christopher Boston 25
Andy Boston 30
Johnathan Los Angeles 35
现在,如果我想更改所有名字以 John 开头的人的年龄,我通常会这样选择他们:
subset(df, grepl("^John", Name))
这会给我
Name City Age
John South Bend 20
Johnathan Los Angeles 35
但是,显然我无法更改它使用
subset(df, grepl("^John", Name))$Age <- 20
有没有简单的方法来做到这一点?我不想从数据框中删除行然后重新插入它们,这是我迄今为止一直在做的事情。
感谢您的帮助, 奥利弗
【问题讨论】: