Convenience ctor from data.frame