Вы должны использовать sendKeys()
для установки значения текстового поля. См. Мой код ниже.
function optumIdProfile() {
return browser.findElement(browser.By.id('firstNameId_input')).sendKeys(firstName);
};
Рассмотрите возможность обобщения вашей функции подвыборки для получения подмножеств фрейма данных, переданных в by
, которые могут разрезать фрейм данных по каждой уникальной паре ID и Period . Но сначала рассчитайте MinNum
по каждому ID и периоду , используя ave
(встроенная агрегация). Весь приведенный ниже код использует базу R (то есть никакой другой пакет):
Данные и функции
# Example dataset (WITH MORE ROWS)
set.seed(11919)
Data <- data.frame(
ID = sample(c("A", "B", "C", "D"), 500, replace = TRUE),
Act = sample(c("eat", "sleep", "play"), 500, replace = TRUE),
Period = sample(c("pre", "post"), 500, replace = TRUE)
)
# MIN NUM PER ID AND PERIOD GROUPING (NESTED ave FOR COUNT AND MIN AGGREGATIONS)
Data$Min_Num <- with(Data, ave(ave(1:nrow(Data), ID, Period, FUN=length), ID, FUN=min))
# Function to get the mean proportion per ID
meanAct <- function(x){
within(x, {
n <- ave(1:nrow(x), ID, Act, FUN=length)
freq <- n / sum(n)
})
}
DataResults <- function(df, rep){
reps <- replicate(rep, meanAct(df[sample(1:nrow(df), df$Min_Num[1], replace=FALSE),]))
mean_freq <- apply(simplify2array(reps["freq", ]), 1, mean) # ADJUSTED [] INDEXING
sd <- apply(simplify2array(reps["freq", ]), 1, sd) # ADJUSTED [] INDEXING
lower <- mean_freq - 1.96*(sd/sqrt(df$Min_Num[1]))
upper <- mean_freq + 1.96*(sd/sqrt(df$Min_Num[1]))
mean_act <- as.vector(reps[[2]]) # ADJUSTED [[#]] NUMBER
id <- df$ID[1] # ADD GROUP INDICATOR
period <- df$Period[1] # ADD GROUP INDICATOR
output <- data.frame(id, period, mean_act, mean_freq, sd, lower, upper)
return(output)
}
Обработка
[111 ]Суммирование
# SUMMARIZE FINAL DF (MEAN PROP BY ID AND ACT)
agg_df <- aggregate(mean_freq ~ id + mean_act, final_df, mean)
agg_df
# id mean_act mean_freq
# 1 A eat 0.02172782
# 2 B eat 0.01469706
# 3 C eat 0.01814771
# 4 D eat 0.01696995
# 5 A play 0.02178283
# 6 B play 0.01471497
# 7 C play 0.01819898
# 8 D play 0.01688828
# 9 A sleep 0.02169912
# 10 B sleep 0.01470978
# 11 C sleep 0.01818944
# 12 D sleep 0.01697438
# SUMMARIZE FINAL DF (MEAN PROP BY ID AND PERIOD)
agg_df <- aggregate(mean_freq ~ id + period, final_df, mean)
agg_df
# id period mean_freq
# 1 A post 0.02173913
# 2 B post 0.01470588
# 3 C post 0.01818182
# 4 D post 0.01694915
# 5 A pre 0.02173913
# 6 B pre 0.01470588
# 7 C pre 0.01818182
# 8 D pre 0.01694915
# SUMMARIZE FINAL DF (MEAN PROP BY ID)
agg_df <- aggregate(mean_freq ~ id, final_df, mean)
agg_df
# id mean_freq
# 1 A 0.02173913
# 2 B 0.01470588
# 3 C 0.01818182
# 4 D 0.01694915