如何创建复杂的循环

时间:2014-03-03 11:49:53

标签: r

我很难为以下任务创建循环。

  1. 问题是x& y是整数1到100。
  2. 有多少独特的力量,x ^ y?
  3. 我已经了解了基本循环,但我不知道从哪里开始。
  4. 获得一些建议会很有帮助。

2 个答案:

答案 0 :(得分:3)

使用outer

length(unique(as.vector(outer(1:100, 1:100, "^"))))
#[1] 9308

答案 1 :(得分:2)

你不需要循环。而是使用lapply,其操作类似于循环:

length(unique(unlist(lapply(1L:100L, function(x) (1L:100L)^x))))

打破这个:

# apply the exponents 1:100 to all values 1:100
vallist <- lapply(1L:100L, function(x) (1L:100L)^x)
# form one vector and find all unique values from it:
u <- unique(unlist(vallist))
# number of unique values:
length(u)