R: Выберите число условно из последовательности на основе значения другого случайно выбранного числа из того же диапазона

#r #apply

Вопрос:

xc-это случайно выбранная переменная в диапазоне 61-69. yc-это последовательность 61-69. Я пытаюсь выбрать одно значение из yc, условно зависящее от значения xc, чтобы сумма увеличилась до 130. Я приложил свои 3 попытки до сих пор:

 xc<-sample(seq(from = 61, to = 69, by = 1), size = 1, replace = FALSE)
yc<-seq(61,69,1)

#returns the logical sequence
df<-sapply(xc,function(a) xc yc == 130 )
df

# outputs the list of sums
library(magicfor)
magic_for(silent = TRUE)
for (i in 1) {
 (xc yc[i] == 130)
 put (yc, xc , yc xc)
}
magic_result_as_dataframe()      
       
#returns logical sequence
yci<-function(a){
    a <- yc xc==130
    return(a)
    }

yci()
 

Комментарии:

1. И ваш вопрос таков?

2. Ваша первая попытка yc[sapply(xc,function(a) xc yc == 130)] должна вернуть правильное yc значение. Или просто yc[xc yc == 130] .

Ответ №1:

Разве тебе просто не нужно 130 - xc добраться yc ?

Кроме того, я не думаю, что необходимо yc уже определить (как yc<-seq(61,69,1) ), так как это будет ровно одно заданное число xc , которое удовлетворит условию xc yc = 130 .

 return_yc <- function(xc) 130 - xc
set.seed(123)
xc <- sample(seq(from = 61, to = 69, by = 1), size = 1)
xc
#[1] 63

return_yc(xc)
#[1] 67