У меня есть data.frame:
df<-data.frame(x=c(1,2,3),y=c('b','a','c'))
Если я наберу:
as.character(df[1,])
Я получу:
"1" "2"
Или если я наберу:
paste(df[1,],collapse=':')
Я получу:
1:2
Но если я наберу:
apply(df,1,as.character)
или apply(df,1,paste,collapse=':')
, я получу:
[1,] "1" "2" "3"
[2,] "b" "a" "c"
и
"1:b" "2:a" "3:c"
Я предположил, что запуск функции apply приведет к тому, что каждая строка df будет приведена к вектору, а затем будет применена функция, например as.character () или paste ()
Однако, похоже, это не так. Может кто-нибудь объяснить, что происходит в этой ситуации и почему он дает другой ответ на следующий вопрос:
paste(df[1,],collapse=":")
, затем paste(df[2,],collapse=":")
, затем paste(df[3,],collapse=":")