Фильтр по character

Вопросы по статистическому пакету R. Не обязательно гео.
Ответить
Аватара пользователя
Игорь Черниенко
Активный участник
Сообщения: 137
Зарегистрирован: 28 мар 2009, 01:05
Репутация: 11
Откуда: Хабаровск, Южно-Сахалинск

Фильтр по character

Сообщение Игорь Черниенко » 07 авг 2014, 08:39

Здравствуйте

Возникло совершенно непонятное для меня затруднение. Мне необходимо выбрать запись в таблице по элементу списка. Значение поля имеет тип character, значения списка тоже. Когда я ссылаюсь на элемент списка, примерно так

df[c.field==lst,]

возвращается пустая строка. Однако, когда я просто копирую это значение в буфер и ставлю его в качестве условия отбора,

df[c.field=="Acropoma japonicum",]

выбираются те строки, которые мне нужны. В чем может быть причина?

gamm
Гуру
Сообщения: 4064
Зарегистрирован: 15 окт 2010, 08:33
Репутация: 1061
Ваше звание: программист
Откуда: Казань

Re: Фильтр по character

Сообщение gamm » 07 авг 2014, 11:25

невозможно понять, где таблица, где список. В любом случае синтаксис вызывает некоторое недоумение - нет ни ссылки на столбец таблицы через $, ни адресации элементов списка через [[ ]] ...

и вообще, есть волшебное средство str(), я бы посмотрел str(lst) и str(lst[]) ...

Аватара пользователя
Игорь Черниенко
Активный участник
Сообщения: 137
Зарегистрирован: 28 мар 2009, 01:05
Репутация: 11
Откуда: Хабаровск, Южно-Сахалинск

Re: Фильтр по character

Сообщение Игорь Черниенко » 08 авг 2014, 01:21

unv.csv
(249 байт) 594 скачивания
fish.csv
(7.05 КБ) 690 скачиваний
Так ведь первым делом и посмотрел.

Код: Выделить всё

>str(unv[1]) 
chr "Acropoma japonicum"

>str(fish[14,'name'])
chr "Acropoma japonicum"
Делал примерно так:

Код: Выделить всё

>fish<-read.table('fish.csv',sep=';',header=T)
>unv<-read.table('unv.csv',sep=';',header=T)

>fish$name<-as.character(fish$name)
>unv<-as.character(unv[,1])
>fish[fish$name==unv[1],]
[1] cod1 fish1 fish2 familie author name 
<0 строк> (или 'row.names' нулевой длины)

>unv[1]
"Acropoma japonicum"

>fish[fish$name=="Acropoma japonicum",]
cod1 fish1 fish2 familie author name
14 10050102 Acropoma japonicum <NA> <NA> Acropoma japonicum

gamm
Гуру
Сообщения: 4064
Зарегистрирован: 15 окт 2010, 08:33
Репутация: 1061
Ваше звание: программист
Откуда: Казань

Re: Фильтр по character

Сообщение gamm » 08 авг 2014, 08:26

строки реально разные, в unv вместо пробела сидит что-то с 16-ричным кодом A0. Разбирайтесь с источником данных и кодировками (первая строка из fish, вторая из unv)
ClipBoard.jpg
ClipBoard.jpg (64.18 КБ) 5212 просмотров

Аватара пользователя
Игорь Черниенко
Активный участник
Сообщения: 137
Зарегистрирован: 28 мар 2009, 01:05
Репутация: 11
Откуда: Хабаровск, Южно-Сахалинск

Re: Фильтр по character

Сообщение Игорь Черниенко » 11 авг 2014, 01:28

В общем, разобраться я так и не разобрался, зато получилось использовать это дело в качестве разделителя :0) Спасибо за помощь

Ответить

Вернуться в «R»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 0 гостей