【发布时间】:2014-10-05 12:11:12
【问题描述】:
我有一个如下所示的数据框:
C1 C2
0 1
2 -1
1 1
-1 2
0 0
我想将所有 -1 替换为 'minus' , 0 替换为 'nc' , 1 替换为 'plus1' , 2 替换为 'plus2' 。 我知道如何使用 'gsub' 一个一个地替换数字,但我不知道如何一次全部替换它们。 作为 0 和 -1 的示例,这是我的代码:
gsub(df, '0', 'nc');gsub(df, '-1', 'minus')
提前致谢,
【问题讨论】:
-
您发布的
gsub代码似乎根本无效 -
但是当我分别对它们每个使用它时它就可以工作!
-
不。
pattern应该是第一个参数。另外,你不能在整个df上运行gsub,你只能在每列中运行,像df[] <- lapply(df, gsub, pattern = '0', replacement = 'nc')这样的东西会为你做第一个替换 -
对不起,我在我的代码中定义了模式替换和 x,如下所示:gsub(x=df, pattern='0',replacement='nc) 但没有 lapply 它有效!跨度>
-
那个代码给了我
"c(nc, 2, 1, -1, nc)" "c(1, -1, 1, 2, nc)"