Все, что вам нужно сделать, это снова применить множитель () к вашей переменной после подмножества:
> subdf$letters
[1] a b c
Levels: a b c d e
subdf$letters <- factor(subdf$letters)
> subdf$letters
[1] a b c
Levels: a b c
ИЗМЕНИТЬ
Пример примера с параметрами:
factor(ff) # drops the levels that do not occur
Для удаления уровней из всех столбцов факторов в кадре данных вы можете использовать:
subdf <- subset(df, numbers <= 3)
subdf[] <- lapply(subdf, function(x) if(is.factor(x)) factor(x) else x)
В вашем коде есть некоторые основные ошибки, они должны выглядеть следующим образом:
def tempRequest():
page = requests.get("http://10.0.0.3/admin/speedtest.php")
tree = html.fromstring(page.content)
heading = tree.xpath('//a[@id="temperature"]/text()')
return heading, tree
heading, tree = tempRequest()
sheet = client.open("Database").sheet1
sheet.insert_row(heading, 10)
time.sleep(5)
В исходном коде вы пытаетесь передать переменные в функцию до того, как определили их в своем коде. И вы не используете свои функции, возвращающие значения вообще.