Можно ли использовать «подмножество» данных из файлов .csv известной структуры, но с разной детализацией? - PullRequest
1 голос
/ 07 сентября 2010

Я пытаюсь работать с данными из файлов .csv известного общего формата, но с разными именами групп и показателей. Я могу получить data.frame используя:

mydata=read.csv(file.choose(),header=T)    
mydata

    GroupNames  Measure1    Measure2    Measure3  etc
1   group1      value1      value1
2   group1      value2      value2
3   group2      value3      value3
4   group2      value4      value4
5   group2      value5      value5
6   group3      value6      value6
7   group3      value7      value7

etc

Есть ли способ подгруппировать данные и выполнить необходимые тесты, если я заранее не знаю номеров групп или показателей (или их названий)?

Я могу получить первый ряд, используя:

names(mydata)
[1] "GroupNames" "Measure1" "Measure2" "Measure3" 

Я могу получить группы, используя:

Groups<-levels(factor(mydata[[1]]))
Groups
[1] "group1" "group2"  "group3"

Я могу создать подмножество, используя:

g1<-subset(mydata, GroupNames %in% Groups[1])
g1
    GroupNames  Measure1    Measure2    Measure3  etc
1   group1      value1      value1
2   group1      value2      value2

но как мне автоматически поместить "GroupNames" в вышеприведенную команду подмножества, не зная об этом заранее? Текущие эксперименты с использованием:

Titles<-names(mydata)

тогда

g1<-subset(mydata, Titles[1] %in% Groups[1])

ошибка и возврат:

[1] GroupNames Measure1 Measure2 Measure3     
<0 rows> (or 0-length row.names)

Извините, но я новичок ...

1 Ответ

0 голосов
/ 07 сентября 2010

Вы на самом деле недалеко. Вам просто нужно передать объект вместо символьной строки при использовании subset. Это должно работать, если вы пропустите бизнес Titles и просто сделаете это:

g1<-subset(mydata, mydata[[1]] %in% Groups[1])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...