#r #class
#r #класс
Вопрос:
randomNames
Пакет в R можно использовать для генерации случайных имен и фамилий. Существует environment
вызываемый randomNamesData
, который загружается вместе с пакетом и randomNamesData
содержит
> randomNamesData
<environment: 0x11db12078>
Аналогичный вывод для str(randomNamesData)
и dput(randomNamesData)
.
если вы проверите это randomNamesData
с View
помощью, вы получите следующее:
> View(randomNamesData)
Объекты в каждом из этих объектов (например, first_names_e1_g0
) имеют тип array
.
Возможно ли изменить randomNamesData
среду, чтобы добавить больше имен? Если это возможно, как добавить / удалить имена в нее?
Комментарии:
1. Среды по большей части ведут себя как списки. Можете ли вы получить доступ к элементам в среде с помощью таких инструкций, как
randomNamesData$first_names_e1_g0
?2. Да, я могу получить доступ
randomNamesData$first_names_e1_g0
, однако, если я попытаюсь добавить к ней, введяassign(randomNamesData$first_names_e1_g0, "hello")
, я получу сообщение об ошибке3. Почему бы просто не
randomNamesData$first_names_e1_g0 <- [some value]
?4. @jdobres Это перезапишет все имена и заменит их только одним введенным именем (или вектором имен).
5. Я не знаю вашей точной цели, но вы должны быть в состоянии сделать что-то вроде
tmp <- randomNamesData$first_names_e1_g0
, затем внести любые изменения, которые вы хотитеtmp
, а затемrandomNamesData$first_names_e1_g0 <- tmp
.
Ответ №1:
Я не совсем понимаю, какие именно изменения вы хотите внести, но поскольку среды ведут себя как списки, должна быть возможность перенести интересующие данные во временную переменную, изменить эту переменную, а затем заменить исходную:
tmp <- randomNamesData$first_names_e1_g0
[make changes to tmp]
randomNamesData$first_names_e1_g0 <- tmp
Комментарии:
1. Спасибо, это помогло. Однако пришлось проделать дополнительную работу из-за характера среды и способа доступа к значениям. Сначала это
temp = object
, затемdf.new = runif(n)
;names(df.new) = vec_n_names
; и, наконецtemp = append(temp, df.new)