Здравствуйте, я пытаюсь создать функцию, которая будет принимать в dataframe, и вернет мне количество уникальных значений для данного столбца. Мне удалось получить набор данных в формате вывода, который мне нравится, но я не могу переименовать один из столбцов (как указано в выводе). У вас есть какие-то мысли о том, как это сделать? Я попытался указать имена столбцов в as.data.frame, и это не сработало. Посмотрев на фреймворк данных, кажется, что он должен использовать аргумент fix.empty names, но даже после его поставки он все равно дает мне пустое имя столбца (см. Вывод). Я думаю, что это может иметь какое-то отношение к этому исправлению, но я не уверен ... http://r.789695.n4.nabble.com/Data-frame-printing-buglet-when-multiple-empty-column-names-td4718088.html Спасибо за ваше время.Переименовать пустой столбец в dataframe
#Function to Find unique values in a dataframe
library(knitr)
library(formattable)
findUniqueVals <- function(df) {
poop <- sapply(df, function(x) length(unique(x)))
poop <- as.data.frame(poop, fix.empty.names==TRUE)
kable(poop)
#formattable::formattable(poop)
}
findUniqueVals(patientdata)
#should have a column header not just empty string
Output:
| | poop|
|:------------|----:|
|patient.ID | 4|
|patient.name | 4|
|Adm.Date | 4|
|diabetes | 2|
|p.status | 3|
#testdata
patient.ID <- c(1, 2, 3, 4)
patient.name <-c("pat1", "pat2", "pat3","pat4")
Adm.Date <- as.POSIXct(c('2010-10-11','2008-3-25','2016-4-23','2011-6-12'))
diabetes <- c("Type1", "Type2", "Type1", "Type2")
p.status <- c("Poor", "Improved", "Excellent", "Poor")
patientdata <- data.frame(patient.ID,patient.name,Adm.Date,diabetes,p.status)
Как насчет например, 'colnames (poop) [1] <-" Столбец 1 "'? – Billywob
Я получаю сообщение об ошибке «> colnames (poop) [1] <-" test " Ошибка в' colnames <-' ('* tmp *', value = "test"): попытка установить 'colnames' on объект с менее чем двумя измерениями ». – petergensler
Здравствуйте. @Billywob прав: 'colnames()' обычно выполняет эту работу. Если это не для вас, попробуйте указать [Минимальные, завершенные и проверенные примеры] (http://stackoverflow.com/help/mcve), которые выдают ту же самую ошибку. Это улучшит вероятность получения полного ответа. – symbolrush