2017-01-25 10 views
0

Я пытаюсь изменить форму кадра данных следующим образом.Использование Reshape Cast

df<-data.frame(market = c("a","b","c","a","b","c"),companyName = c("foo","foo","foo", "bar","bar","bar"), val = seq(1,6)) 
require(reshape) 
dfNew <- cast(df,market ~ companyName+companyName) 

Для генерации:

 market  company 1 company 2  
1  a    1   4 
2  b    2   5 
3  c    3   6 

Но я получаю эту ошибку:

Using val as value column. Use the value argument to cast to override this choice 
Error in `[.data.frame`(data, , variables, drop = FALSE) : 
    undefined columns selected 

ответ

0

reshape и reshape2 являются оба устаревшие пакеты в этой точке. Если вы используете последнюю версию Хэдли, tidyr:

spread(df, key = companyName, value = val) 

    market bar foo 
1  a 4 1 
2  b 5 2 
3  c 6 3