Отредактировав вопрос, который будет более понятным в соответствии с запросом.R sqldf переименование поля в операторе select
Обратите внимание, что входы указаны в воспроизводимой форме в примечании в конце.
Я использую sqldf для соединения двух наборов данных в R
код возвращает набор данных с с оригинальными названиями столбцов, не обращая внимания на «как» в операторе отбора.
output_1 <- sqldf("SELECT a.MRN, a.TestDate, b.TestDate as Date2
from a
inner join b
on a.MRN=b.MRN order by a.MRN, a.TestDate")
дает:
> sapply(output_1,colnames)
$MRN
NULL
$TestDate
NULL
$TestDate
NULL
> head(output_1)
MRN TestDate TestDate
1 10013 2013-09-10 2014-05-20
2 10013 2013-09-10 2014-05-20
3 10013 2013-09-10 2014-05-20
4 10013 2013-09-10 2014-11-18
5 10013 2013-09-10 2015-05-19
6 10013 2013-10-15 2014-05-20
Любая идея, почему, или как получить правильные имена полей в выводе?
Обходным решением, которое я разработал, является переименование TestDate во втором наборе данных (b) перед использованием внутреннего вызова соединения. Но я предпочитаю, чтобы «как» работал так же, как в других приложениях.
Любые идеи?
Обратите внимание: основное внимание уделяется только имени столбца. И спасибо!
Примечание: Вот a
и b
в воспроизводимой форме:
Lines_a <- "MRN TestDate
10013 2013-09-10
10013 2013-10-15
10013 2013-11-19
10013 2014-05-20
10013 2014-11-18
10051 2010-02-10"
a <- read.table(text = Lines_a, header = TRUE)
Lines_b <- "MRN TestDate
10013 2014-05-20
10013 2014-05-20
10013 2014-05-20
10013 2014-11-18
10013 2015-05-19
10051 2010-05-26"
b <- read.table(text = Lines_b, header = TRUE)
Пожалуйста, покажите головку 'Ā',' b' и 'output_1' – Tgsmith61591
я получаю эти столбцы, как и ожидалось:' MRN, TestDate, Date2' – zx8754
Похоже, это локальная проблема. Любая идея, почему это происходит на моей машине? Что я должен искать? –