【发布时间】:2024-01-23 17:55:01
【问题描述】:
所以,基本上,我正在编写一个 for 函数,它不是在说 1:5 中进行替换,而是在作为变量名称的字符串中进行替换。但我也希望能够改变变量本身,在我的例子中是数据框。 基本上我想要的是:
x = c("item")
item = data.frame(c(1,1,1,1))
然后通过仅使用 x 或“item”,我想实际更改 item 中的值,例如将第二个 1 更改为 5。
所以,到目前为止,在通过字符串引用变量的部门中,我能做的最好的事情是:
eval(parse(text = x))
这只会给我项目中的数据。我实际上想更改项目本身内部的数据并让它保持更改。
【问题讨论】:
-
欢迎来到 SO!我认为你正在重新发明*。 tidyverse 包基本上已经为您完成了这项工作。例如
df <- df %>% mutate(X=ifelse(Row_number() == 2, 5, X)会将df第二行中X的值更改为5,其他值保持不变。 -
改变你的方法。这只是不好的做法,对你来说会很麻烦。
标签: r string variables replace