Новый пользователь R. Не может думать, как задать вопрос. Я очистил веб-страницу для HTML-таблиц. Как правило, все прошло хорошо, за исключением одной таблицы. Вместо 7 отдельных таблиц все обрушилось на 1 таблицу, с именем столбца и значением для первой таблицы были два отдельных столбца, а все остальные таблицы были строками. Результаты таблица с чем-то вроде этого:Чистая таблица HTML с Reshape2
df <- data.frame(is_employed = c("Hobbies", "Has Previous Experience"), false = c("squash", "false"))
Очевидно, что мне нужно иметь строки (и имя столбца) в первой колонке, как их собственные столбцы, с элементом во втором столбце, их значения , предпочтительно с символами подчеркивания в именах столбцов. Я пробовал:
df <- dcast(df, ~is_employed, value.var = "false")
Но получено сообщение об ошибке. Тогда я думал, чтобы добавить еще один столбец, как таковой:
df2 <- data.frame(number = c(1, 2), is_employed = c("Hobbies", "Has Previous Experience"), false = c("squash", "false"))
я попытался
df3 <- dcast(df2, number ~is_employed, value.var="false")
, разместившие значения в первых столбцах, как их собственные колонны, но производится в два ряда (вместо 1) , с НС. Я уверен, что это действительно просто, но я не могу понять.
На редактирования: Я думаю, что это дает мне то, что я хочу, но я далеко от моего компьютера, поэтому я не могу подтвердить:
library("dplyr")
library("tidyr")
mat <- as.matrix(df)
mat <- rbind(colnames(mat), mat)
colnames(mat) <- c("variable", "value")
df2 <- as.data.frame(mat)
df3 <- df2 %>%
mutate(n = 1) %>%
spread(variable, value) %>%
select(-n)
Мне нужно добавить n
или я получаю Nas, но Мне это не нравится.
Я только что понял, что добавлена вторая строка, потому что у меня было два ряда чисел. Если у меня есть только одна строка для «числа» (например, df2 <- data.frame (number = c (1), is_employed = c («Хобби», «Предыдущий опыт»), false = c («squash», «false»)), я получаю функцию dcast для работы, но не очень элегантно добавить фиктивный столбец. Есть ли лучший способ? – JoeF