R语言中属性的模式匹配
有没有任何模式匹配方法可以循环遍历R中的变量列表 我非常了解使用索引,但是,到目前为止,我还没有在循环中的多个属性上找到索引 我所拥有的是:R语言中属性的模式匹配,r,R,有没有任何模式匹配方法可以循环遍历R中的变量列表 我非常了解使用索引,但是,到目前为止,我还没有在循环中的多个属性上找到索引 我所拥有的是: x <- c(1, 2, 3, 4) y <- c(4, 3, 2, 1) for (i in 1:length(x)) { x[i] y[i] } x不,R不允许以这种方式解压值。只能将序列中的每个元素指定给单个变量 请看这里: 看看foreach软件包: 我想您可以通过foreach()函数找到所需的功能。对于循环,您可
x <- c(1, 2, 3, 4)
y <- c(4, 3, 2, 1)
for (i in 1:length(x)) {
x[i]
y[i]
}
x不,R不允许以这种方式解压值。只能将序列中的每个元素指定给单个变量
请看这里:
看看foreach软件包:
我想您可以通过foreach()函数找到所需的功能。对于
循环,您可以使用mapply
而不是:
例如:
mapply(c, x, y)
运行函数c
,使x
和y
中的所有值位于同一索引,即x=1
和y=4
等
[,1] [,2] [,3] [,4]
[1,] 1 2 3 4
[2,] 4 3 2 1
还可以定义新功能:
mapply(function(xi, yi) "your function", x, y)
%in%
<代码>grepl
?嵌套循环?根据您的要求,其中一个是解决方案。您的意思是(x,y)
是(1,4),(2,3),(3,2),(4,1)
?是的,我的目的是解压值,就像我在python或sml中所做的那样。谢谢我曾考虑过使用mapply,但我遇到了一些困难,因为我的论点并非都是不可接受的,有些我想修正一下。我的主要目的是计算点c(x,y)向量到给定点的欧几里德距离,比如说(0,0),而不使用for循环。@Rubens你能举个例子吗?我试着这么做:dist@Rubens这可以通过内置的dist
函数轻松实现:stats::dist(rbind(c(cx,cy),cbind(x,y))[seq\u-along(x)]
返回距离比较点的三个距离。哇,太棒了!工作起来很有魅力!现在,我将花一些时间来理解这些列/行绑定函数的含义(:谢谢!
mapply(function(xi, yi) "your function", x, y)