У меня есть кадр данных, который выглядит следующим образом:R генерировать случайные числовые для каждой строки
> head(df.data)
Date Persnr AmountHolidays Season Holiday Temp
1 201101 55312 0.0 Off FALSE 4.8
2 201101 55316 3.0 Off FALSE 4.8
3 201101 55325 0.0 Off FALSE 4.8
4 201101 76065 0.0 Off FALSE 4.8
5 201101 71928 1.0 Off FALSE 4.8
6 201101 72558 0.5 Off FALSE 4.8
> str(df.data)
'data.frame': 490 obs. of 6 variables:
$ Date : Factor w/ 49 levels "201101","201102",..: 1 1 1 1 1 1 1 1 1 1 ...
$ Persnr : int 55312 55316 55325 76065 71928 72558 73045 77214 121216 71951 ...
$ AmountHolidays: num 0 3 0 0 1 0.5 0 0.5 2 0 ...
$ Season : chr "Off" "Off" "Off" "Off" ...
$ Holiday : chr "FALSE" "FALSE" "FALSE" "FALSE" ...
$ Temp : num 4.8 4.8 4.8 4.8 4.8 4.8 4.8 4.8 4.8 4.8 ...
То, что я хотел сделать, это создать случайное значение двух чисел и вставить его за значения «Дата» , Эти два числа обозначают дни. Например, «20110112» или «20110106». Я использовал это уже:
df.data$Date<-paste(df.data$Date,sample(1:31,31),sep="")
Результат:
> head(df.data)
Date Persnr AmountHolidays Season Holiday Temp
1 20110117 55312 0.0 Off FALSE 4.8
2 20110114 55316 3.0 Off FALSE 4.8
3 2011018 55325 0.0 Off FALSE 4.8
4 20110113 76065 0.0 Off FALSE 4.8
5 2011017 71928 1.0 Off FALSE 4.8
6 20110110 72558 0.5 Off FALSE 4.8
Он работает, НО! моя проблема в том, что он не всегда генерирует два числовых значения. Значение 1 отображается как 1, а не 01. Значение 2 отображается как 2, а не 02 и т. Д.
Любые предложения, как это решить?
Попробуйте 'Sprintf ('% S% 02d', уникальный (df.data $ Date), образец (1: 31,31))' – akrun
В примере, df.data ' $ date '- это то же самое, изменилось ли это? – akrun
Hi minhphongb. Просто для дальнейшего использования, пожалуйста, постарайтесь урезать свой вопрос до той части, которую вы не можете понять. Мы не хотим, чтобы возникла проблема XY, но в этом случае вы, вероятно, могли бы задать вопрос в соответствии с «Как мне форматировать 1 как« 01 »?» - может быть, немного больше деталей, чем это, но вы получите больше ответов и лучших ответов, если вопрос будет коротким и точным, но все еще охватывает все необходимые базы. – Dason