Я создал пустой фрейм данных с именами столбцов и пытался вставить строки, содержащие строку и число. Это мой код, однако я не получаю ожидаемого результата.rbind не дает ожидаемого вывода в r
df <- data.frame(col1=character(), col2=numeric(), stringsAsFactors=FALSE)
for(i in 1:10)
{
entry = c("hello",i)
df = rbind(df,entry)
}
EDIT: rbind линия изначально выглядела так, testdf = rbind (ДФ, запись). Спасибо Pascal за то, что вы указали, отредактировав это, так как это была опечатка.
EDIT-TWO: Я попытался сделать на основе предложения Грегора создать столбцы первым, и они свяжут их вместе. Но как я могу гарантировать, что имена столбцов остаются как firstcol и secondcol и не изменяются на col1 и col2?
df <- data.frame(col1=character(), col2=numeric(), stringsAsFactors=FALSE)
firstcol = NULL
secondcol = NULL
for(i in 1:10)
{
col1 = c(col1,"hello")
col2 = c(col2,i)
}
Вы переписываете 'testdf' на каждой итерации. И вы ничего не добавляете к 'df'. И 'entry' - это не то, что вы думаете. –
, и у вас не будет столбца 'numeric', потому что когда вы делаете' entry = c («hello», i) ',' i' автоматически преобразуется в 'character' – Cath
С помощью цикла' for' вы всегда должны попробуйте отладить, запустив каждую строку и посмотрев, что к чему. Поэтому инициализируйте 'df', затем в консоли введите' i = 1', затем запустите 'entry = c (« hello », i)», затем введите 'entry' в своей консоли. Это то, что вы хотите? И так далее. – Gregor