Я просмотрел ряд вопросов и ответов на тему включения row name
как части вновь добавленных строк во фрейм данных, но не достиг успеха в этом направлении.
намерение состоит в том, чтобы начать с пустого data.frame
с указанием нужных столбцов и иметь возможность добавлять именованные строки только с первыми тремя значениями столбца (оставляя последний столбец пустым / необязательным):
Пустой data.frame
:
> df
[1] trun YErr lambda.min lambda.1se
<0 rows> (or 0-length row.names)
Давайте добавим строку с именем = logr
и только набором значений trun
:
trun YErr lambda.min lambda.1se
logr 2983 93211.89 0.2189
Мотивация заключается в доступе к строке по имени:
df["logr"]
Я попробовал просто слишком много вариантов для достижения вышеуказанного - и я далеко от решения.Одним из ресурсов является этот вопрос: назначить имя строки, а rbind строки во фрейме данных .Вот (очень плохая) текущая попытка:
cols = c("trun","Yhat", "lambda.min","lambda.1se")
ncols = length(cols)
df = as.data.frame(setNames(replicate(ncols,numeric(0), simplify = F), cols))
df = rbind(df, "logr" = c(2983, 93211.89, 0.2189))
Это не устанавливает row.name
- и фактически перезаписывает также имена столбцов ..
X2983 X93211.89 X0.2189
1 2983 93211.89 0.2189
Итак ... тогда нужно сделать совершенно отдельный вызов, чтобы установить row.name
??
row.names(df) = "logr"
> df
X2983 X93211.89 X0.2189
logr 2983 93211.89 0.2189
Строки будут добавляться в data.frame
в разное времяпри обработке .. поэтому подходы, которые применяют row.names
навалом , не будут работать (не все строки еще обязательно доступны).