bind()
. bind()
function MyConstructor(data, transport) {
this.data = data;
transport.on('data', ( function () {
alert(this.data);
}).bind(this) );
}
// Mock transport object
var transport = {
on: function(event, callback) {
setTimeout(callback, 1000);
}
};
// called as
var obj = new MyConstructor('foo', transport);
Если вы используете underscore.js
- http://underscorejs.org/#bind
transport.on('data', _.bind(function () {
alert(this.data);
}, this));
function MyConstructor(data, transport) {
var self = this;
this.data = data;
transport.on('data', function() {
alert(self.data);
});
}
function MyConstructor(data, transport) {
this.data = data;
transport.on('data', () => {
alert(this.data);
});
}
Ваш CSV может быть закодирован в UTF-16. Это не редкость при работе с некоторыми инструментами на базе Windows.
Вы можете попробовать загрузить UTF-16 CSV следующим образом:
read.csv("mycsv.csv", ..., fileEncoding="UTF-16LE")
Это не связано с кодировкой. Это проблема с чтением нулей в файле. Для этого вам необходимо передать параметр «skipNul = TRUE».
например: neg = scan ('F: /Natural_Language_Processing/negative-words.txt', what = 'character', comment .char = '', encoding = "UTF-8", skipNul = TRUE)
В таких случаях убедитесь, что данные, которые вы импортируете, не имеют символов «#», но если этот случай попытается использовать параметр comment.char=""
. Это сработало для меня.
Вы можете попробовать использовать опцию skipNul = TRUE
.
mydata = read.csv("mycsv.csv", quote = "\"", skipNul = TRUE)
Из ?read.csv
Встроенные nuls во входном потоке завершат текущее чтение поля , с предупреждением один раз за вызов для сканирования. Установка
blockquote>skipNul = TRUE
заставляет их игнорировать.Это сработало для меня.
skipNul = TRUE
? Благодарю.
– Daniel Fletcher
24 April 2016 в 03:01
0
(Hx0), называемое NUL
или null
(проверьте любую таблицу ASCII). A (управляемая или преобразованная) строка может содержать эти символы. Иногда они отображаются как \0
, как в ABC\0EFG
. SkipNul = TRUE игнорирует их.
– Enzo
25 April 2016 в 07:23
NA
s; однако, поскольку аргумент для na.strings = <input>
неясен или недостаточен для преобразования встроенных нулей all i> в NA
s, R оставляет остатки в виде текстовых строк с их исходным значением. Верный? Если да, то можно ли определить, какие точки данных R игнорируются как внедренные нули? (Цель состоит в том, чтобы преобразовать их в NA
s.) Спасибо, снова.
– Daniel Fletcher
25 April 2016 в 18:23
У меня было такое же сообщение об ошибке, и выяснилось, что хотя мои файлы имеют расширения .csv и открываются без проблем в электронной таблице, они были фактически сохранены как «Все форматы», а не ¨Text CSV (.csv) ¨
Может быть файл, который не имеет CRLF, может иметь только LF. Попробуйте проверить вывод HEX файла.
Если это так. Попробуйте запустить файл через awk:
awk '{printf "%s\r\n", $0}' file > new_log_file