Я читаю ваши образцы данных, это выглядит так ...
tsales sales margin nown nfull npart naux hoursw hourspw inv1 inv2 ssize start
1 750000 4411.76500 41.00 1.00 1 1 1.5357 NA NA NA NA NA NA
2 76 16.75596 17166.67 27177.04 170 41 NA NA NA NA NA NA NA
3 1926395 4280.87800 39.00 2.00 2 3 1.5357 NA NA NA NA NA NA
4 192 22.49376 17166.67 27177.04 450 39 NA NA NA NA NA NA NA
Поскольку они являются альтернативными и имеют меньше столбцов, мы можем легко их кодировать
Data=read.csv("mydata.csv")
firstData=Data[!is.na(Data$naux),]
secondData=Data[is.na(Data$naux),]
firstData$hoursw=secondData$tsales
firstData$hourspw=secondData$sales
firstData$inv1=secondData$margin
firstData$inv2=secondData$nown
firstData$ssize=secondData$nfull
firstData$start=secondData$npart
Data=firstData
Данные разбиты на 2. Нечетные строки и четные строки. Затем нечетные строки заменяются правильными значениями, указанными в данных четных чисел.
Надеюсь, это поможет вам!
Окончательный вывод
> firstData
tsales sales margin nown nfull npart naux hoursw hourspw inv1 inv2 ssize start
1 750000 4411.765 41 1 1 1 1.5357 76 16.75596 17166.67 27177.04 170 41
3 1926395 4280.878 39 2 2 3 1.5357 192 22.49376 17166.67 27177.04 450 39
> secondData
tsales sales margin nown nfull npart naux hoursw hourspw inv1 inv2 ssize start
2 76 16.75596 17166.67 27177.04 170 41 NA NA NA NA NA NA NA
4 192 22.49376 17166.67 27177.04 450 39 NA NA NA NA NA NA NA
> Data
tsales sales margin nown nfull npart naux hoursw hourspw inv1 inv2 ssize start
1 750000 4411.765 41 1 1 1 1.5357 76 16.75596 17166.67 27177.04 170 41
3 1926395 4280.878 39 2 2 3 1.5357 192 22.49376 17166.67 27177.04 450 39