You should use something like this.
Define your lagtime -
$snapMirrors = Get-NaSnapmirror | Where-Object {$_.lagTime -gt $lagtimeseconds}
$snapMirrors | ft @{expression={$_.sourcelocation};Label="Source";Width=20}`
,@{expression={$_.destinationlocation};Label="Destination Location";Width=20} `
,@{expression={$_.status};Label="Status";Width=20} `
,@{N='Current Lag Time';E={'{0} hrs, {1} mins, {2} secs' -f $_.LagTimeTS.Hours, $_.LagTimeTS.Minutes, $_.LagTimeTS.Seconds}} `
,@{expression={ConvertTo-FormattedNumber $_.transferprogress DataSize "0.0"};Label="Current Progress";Width=20} `
,@{expression={ConvertTo-FormattedNumber $_.lasttransfersize Datasize "0.0"};Label="Last Transfer size";Width=20} `
,@{N='Last Transfer Time';E={'{0} hrs, {1} mins, {2} secs' -f $_.LastTransferDurationTS.Hours, $_.LastTransferDurationTS.Minutes, $_.LastTransferDurationTS.Seconds}} `
-groupby @{expression={$C};Label="Filer"} -autosize | Out-String -Width 1000 | Out-File $totaloutfile -append