Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R:如何设置所有变量都不同的条件?a=b=c=d=e=f=G_R - Fatal编程技术网

R:如何设置所有变量都不同的条件?a=b=c=d=e=f=G

R:如何设置所有变量都不同的条件?a=b=c=d=e=f=G,r,R,一个简化的问题是,我想找到一个赋值,使得DEFG/ABC=9其中A、B、C、D、E、F、G都不同 我怎么写 a!=b!=c!=d!=e!=f!=g" 在R 我的尝试: for(a in 1:9){ for(b in 1:9){ for(c in 1:9){ for(d in 1:9){ for(e in 1:9){ for(f in 1:9){ for(g in 1:9){ if(((a+10*b+100*c)/(d+e*10+f*10

一个简化的问题是,我想找到一个赋值,使得
DEFG/ABC=9
其中
A、B、C、D、E、F、G都不同

我怎么写

a!=b!=c!=d!=e!=f!=g" 
在R

我的尝试:

for(a in 1:9){
 for(b in 1:9){
  for(c in 1:9){
   for(d in 1:9){
    for(e in 1:9){
     for(f in 1:9){
      for(g in 1:9){
       if(((a+10*b+100*c)/(d+e*10+f*100+g*1000))==9 && a!=b!=c!=d!=e!=f!=g)
        print(c(a,b,c,d,e,f,g))

#error: unexpected '!=' in:

提前感谢

每对变量都需要形成它们自己的条件,它们需要通过
&
(用于矢量化)或
&

 ## Parens added for clarity, but not needed
 (a != b) & (b != c) & (a != c)
但是,看起来您需要的是整数,或者至少是实数,在这种情况下,您可以使用

 vars <- c(a, b, c, d, e, f, g)
 any(vars != mean(vars))
 # Since any one of the value being different from the group average
 #    indicates that they are all different

每对变量都需要形成它们自己的条件,它们需要通过
&
(对于矢量化)或
&

 ## Parens added for clarity, but not needed
 (a != b) & (b != c) & (a != c)
但是,看起来您需要的是整数,或者至少是实数,在这种情况下,您可以使用

 vars <- c(a, b, c, d, e, f, g)
 any(vars != mean(vars))
 # Since any one of the value being different from the group average
 #    indicates that they are all different
也许:

a可能:

a试试:

但一个三位数除以四位数怎么可能等于9呢?(此处未使用0)

以下代码用于生成这样的4位和3位数字:

> ss = sample(0:9, 7)
> while(TRUE){
+     num1 = (ss[4]+10*ss[3]+100*ss[2]+1000*ss[1])
+     num2 = (ss[7]+10*ss[6]+100*ss[5])
+     if((num1/num2) == 9 )  cat('\nFound: ',num1,' and ',num2) 
+     ss = sample(0:9, 7)
+     }

Found:  8523  and  947
Found:  8253  and  917
Found:  6489  and  721
Found:  4761  and  529
Found:  5481  and  609
Found:  4608  and  512
Found:  6489  and  721
Found:  3789  and  421
Found:  2781  and  309
Found:  2781  and  309
Found:  5742  and  638
Found:  8613  and  957
Found:  3762  and  418
Found:  5742  and  638
Found:  3762  and  418
Found:  8523  and  947
Found:  8523  and  947
Found:  5823  and  647
Found:  8253  and  917
Found:  1854  and  206
Found:  3762  and  418
Found:  7254  and  806
Found:  7326  and  814
...
尝试:

但一个三位数除以四位数怎么可能等于9呢?(此处未使用0)

以下代码用于生成这样的4位和3位数字:

> ss = sample(0:9, 7)
> while(TRUE){
+     num1 = (ss[4]+10*ss[3]+100*ss[2]+1000*ss[1])
+     num2 = (ss[7]+10*ss[6]+100*ss[5])
+     if((num1/num2) == 9 )  cat('\nFound: ',num1,' and ',num2) 
+     ss = sample(0:9, 7)
+     }

Found:  8523  and  947
Found:  8253  and  917
Found:  6489  and  721
Found:  4761  and  529
Found:  5481  and  609
Found:  4608  and  512
Found:  6489  and  721
Found:  3789  and  421
Found:  2781  and  309
Found:  2781  and  309
Found:  5742  and  638
Found:  8613  and  957
Found:  3762  and  418
Found:  5742  and  638
Found:  3762  and  418
Found:  8523  and  947
Found:  8523  and  947
Found:  5823  and  647
Found:  8253  and  917
Found:  1854  and  206
Found:  3762  and  418
Found:  7254  and  806
Found:  7326  and  814
...
如果所有值都是唯一的,则返回
TRUE


如果所有值都是唯一的,则返回
TRUE

if(length(unique(1:9))==9)TRUE
@rawr-smart。应该已经考虑过了。
any(复制的(你的_向量))
会告诉你向量中是否有任何重复项。@RicardoSaporta我认为OP需要所有内容都不同,对吗
if(length(unique(c(1:8,8))==9)TRUE
一个三位数除以四位数怎么可能等于9?(此处未使用0)。
如果(长度(唯一(1:9))==9)为真
@rawr-smart。应该已经考虑过了。
any(复制的(你的_向量))
会告诉你向量中是否有任何重复项。@RicardoSaporta我认为OP需要所有内容都不同,对吗
if(length(unique(c(1:8,8))==9)TRUE
一个三位数除以四位数怎么可能等于9?(此处未使用0)。我认为您的逻辑不太正确。似乎他们想确保没有任何重复的。您的正在检查它们是否完全相同。@Dason,您可能是对的。从
a中看不太清楚=b=c
我需要它们是唯一的。我不知道我是怎么表达的直到现在才明白。也谢谢你。:)我认为你的逻辑不太正确。似乎他们想确保没有任何重复的。您的正在检查它们是否完全相同。@Dason,您可能是对的。从
a中看不太清楚=b=c
我需要它们是唯一的。我不知道我是怎么表达的直到现在才明白。也谢谢你。:)
> ss = sample(0:9, 7)
> while(TRUE){
+     num1 = (ss[4]+10*ss[3]+100*ss[2]+1000*ss[1])
+     num2 = (ss[7]+10*ss[6]+100*ss[5])
+     if((num1/num2) == 9 )  cat('\nFound: ',num1,' and ',num2) 
+     ss = sample(0:9, 7)
+     }

Found:  8523  and  947
Found:  8253  and  917
Found:  6489  and  721
Found:  4761  and  529
Found:  5481  and  609
Found:  4608  and  512
Found:  6489  and  721
Found:  3789  and  421
Found:  2781  and  309
Found:  2781  and  309
Found:  5742  and  638
Found:  8613  and  957
Found:  3762  and  418
Found:  5742  and  638
Found:  3762  and  418
Found:  8523  and  947
Found:  8523  and  947
Found:  5823  and  647
Found:  8253  and  917
Found:  1854  and  206
Found:  3762  and  418
Found:  7254  and  806
Found:  7326  and  814
...
!anyDuplicated(c(a, b, c, d, e, f, g))