Ответ 1
Если вы не укажете check.names=FALSE
, R преобразует имена столбцов, которые не являются допустимыми именами переменных (например, содержат пробелы или специальные символы или начинаются с чисел) в действительные имена переменных, например. заменяя пробелы точками. Попробуйте names(s_data)
. Если вы сделаете, используйте check.names=TRUE
, затем используйте одиночные обратные кавычки (`), чтобы окружать имена.
Я также рекомендовал бы использовать rename
из пакета reshape
.
s_data <- read.csv2( file=f_name )
library(reshape)
s_df <- rename(s_data,ID="scada_id",
PlantNo="plant",DateTime="date",Main.status="main_code",
Additional.status="seco_code",MainStatustext="main_text",
AddStatustext="seco_test",Duration="duration")
Для того, что стоит, инструменты tidyverse (т.е. readr::read_csv
) имеют противоположное значение по умолчанию; они не преобразуют имена столбцов, чтобы сделать их законными символами R, если вы явно не запросите его.