【发布时间】:2013-09-02 12:08:41
【问题描述】:
R中的等价方式是什么
foreach ($arr as $key => $value) {
echo "Key: $key; Value: $value<br />\n";
}
意思是
arr<-c(a=1,b=2,c=3)
key<-names(arr)
val<-arr
for(i in 1:length(arr)){
print(paste(key[i],val[i]))
}
【问题讨论】:
-
我看到的唯一区别是您的输出格式不同,可以通过使用
paste()中的字符串参数轻松修改。如果不是这样,问题似乎并不完全清楚。 -
我不明白。您提供的代码也会生成键值对吗?那么缺少什么?
-
@Dr.Mike:我认为他正在寻找一种更优雅的方式来编写这个循环。
-
@f3lix 谢谢你的理解,我已经学习了 R。我通过编写代码的经验是我经常使用 PHP 和 Java 等语言,如果我需要一个 lapply,我现在看到了不同之处在 for 循环中,我知道循环在矢量语言中是坏事。