Один из вариантов - преобразовать имена в factor
и установить необходимые уровни
new_name <- sub("-.*", "", names(data))
split.default(data, factor(new_name, levels = unique(new_name)))
#$B
# B-DIODE B-DIODE.1
#1 1.2 1.3
#2 0.4 0.6
#$A
# A-DIODE A-ACC1 A-ACC2 A-ANA0 ....
#1 1.4 1.5 1.6 1.7 ....
#2 0.8 1.0 1.2 1.4 ....
, указав levels
как unique(new_name)
. Мы можем гарантировать, что список будет разбит на основе их вхождение в массив данных, а не в алфавитном порядке.
Как предполагает @thelatemail, мы также можем избежать преобразования имен в переменную factor
, переупорядочив список на основе unique
new_name
split.default(data, new_name)[unique(new_name)]
отвечать на мой собственный вопрос...
существует reCAPTCHA AJAX api...., который является довольно простым способом обойти эту проблему:
Кроме того.. документация относительно сайта http://www.prototypejs.org/api/ajax/updater..... говорит о evalscript опции и как, только проводит какой-либо JavaScript через собственную оценку () функция...., какой вид завинчивает меня по попытке реализовать проверку ошибок с WMD..., но это - другая история.
Andrew
Если бы это - отрывок литерального кода, Вы используете, Вы не закрыли тег..., таким образом, он не был бы оценен.
Это не решает вашу проблему, но в « Dark Side of the Carton » есть отличный код для проверки reCAPTCHA через jQuery AJAX, который может помочь.
В итоге:
Добавьте следующий Javascript:
$(function() {
function validateCaptcha() {
var challengeField = $('input#recaptcha_challenge_field').val(),
responseField = $('input#recaptcha_response_field').val();
// alert(challengeField);
// alert(responseField);
// return false;
var html = $.ajax({
type: 'POST',
url: 'ajax.recaptcha.php',
data: "recaptcha_challenge_field=" + challengeField + "&recaptcha_response_field=" + responseField,
async: false
}).responseText;
if (html.replace(/^\s+|\s+$/, '') == "success") {
$('#captchaStatus').html(' ');
// Uncomment the following line in your application
return true;
} else {
$('#captchaStatus').html(
'Your captcha is incorrect. Please try again'
);
Recaptcha.reload();
return false;
}
}
// Modified as per comments in site to handle event unobtrusively
$('#signup').submit(function() {
return validateCaptcha();
});
});
Затем добавьте файл ajax.recaptcha.php, который: «выводит только слово« успех », если капча совпадает, а также сообщение и ответ от reCaptchta в случае неудачи. Это важно, потому что мы ищем слово «успех» в нашей функции validateCaptcha () ».
require_once('/inc/recaptchalib.php');
$publickey = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXX'; // you got this from the signup page
$privatekey = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXX';
$resp = recaptcha_check_answer(
$privatekey,
$_SERVER['REMOTE_ADDR'],
$_POST['recaptcha_challenge_field'],
$_POST['recaptcha_response_field']
);
if ($resp->is_valid) {
?>success< ?
} else {
die(
"The reCAPTCHA wasn't entered correctly. Go back and try it again." .
"(reCAPTCHA said: " . $resp->error . ")"
);
}
Пример написан на PHP, но я легко адаптировал его для работы с Zope / Python