"替换"功能示例

flo*_*del 32 r

我没有replacebase包中找到该功能的帮助页面非常有帮助.最糟糕的是,它没有任何可以帮助理解其工作原理的例子.

你能解释一下如何使用它吗?一两个例子会很棒.

42-*_*42- 37

如果你看一下这个函数(通过在控制台输入它的名字),你会发现它只是函数的简单功能化版本[<-,如下所述?"[".[对R来说是一个相当基本的功能,所以建议您查看该页面以获取更多详细信息.特别重要的是学习索引参数(第二个参数replace可以是逻辑,数字或字符分类的值.当第二个和第三个参数的长度不同时,将发生回收:

你应该在第一个参数中"读取"函数调用为"",使用第二个参数作为索引,将第三个参数的值放入第一个参数中:

> replace( 1:20, 10:15, 1:2)
 [1]  1  2  3  4  5  6  7  8  9  1  2  1  2  1  2 16 17 18 19 20
Run Code Online (Sandbox Code Playgroud)

命名向量的字符索引:

> replace(c(a=1, b=2, c=3, d=4), "b", 10)
 a  b  c  d 
 1 10  3  4 
Run Code Online (Sandbox Code Playgroud)

逻辑索引:

> replace(x <- c(a=1, b=2, c=3, d=4), x>2, 10)
 a  b  c  d 
 1  2 10 10 
Run Code Online (Sandbox Code Playgroud)


Jam*_*and 12

您也可以使用逻辑测试

x <- data.frame(a = c(0,1,2,NA), b = c(0,NA,1,2), c = c(NA, 0, 1, 2)) 
x
x$a <- replace(x$a, is.na(x$a), 0)
x
x$b <- replace(x$b, x$b==2, 333)
Run Code Online (Sandbox Code Playgroud)


Jil*_*ina 10

这是两个简单的例子

> x <- letters[1:4]
> replace(x, 3, 'Z') #replacing 'c' by 'Z'
[1] "a" "b" "Z" "d"
> 
> y <- 1:10
> replace(y, c(4,5), c(20,30)) # replacing 4th and 5th elements by 20 and 30
 [1]  1  2  3 20 30  6  7  8  9 10
Run Code Online (Sandbox Code Playgroud)