[r] 데이터 프레임에있는 모든 열의 클래스를 가져 오는 방법은 무엇입니까?

데이터 프레임의 각 열이 어떤 클래스인지 쉽게 알 수있는 방법은 무엇입니까?



답변

한 가지 옵션은 lapplyclass. 예를 들면 :

> foo <- data.frame(c("a", "b"), c(1, 2))
> names(foo) <- c("SomeFactor", "SomeNumeric")
> lapply(foo, class)
$SomeFactor
[1] "factor"

$SomeNumeric
[1] "numeric"

또 다른 옵션은 str다음과 같습니다.

> str(foo)
'data.frame':   2 obs. of  2 variables:
 $ SomeFactor : Factor w/ 2 levels "a","b": 1 2
 $ SomeNumeric: num  1 2


답변

lapply또는 sapply내장 함수를 간단하게 사용할 수 있습니다 .

lapply당신에게 list

lapply(dataframe,class)

동안은 sapply최선의 반환 형식의 예를 취할 것입니다. 벡터 등-

sapply(dataframe,class)

두 명령 모두 해당 클래스와 함께 모든 열 이름을 반환합니다.


답변

안녕하세요 똑같은 것을 찾고 있었으며

unlist(lapply(mtcars,class))


답변

가족 기능 purrr과 유사한 다음을 사용할 수도 있습니다 apply.

as.data.frame(purrr::map_chr(mtcars, class))
purrr::map_df(mtcars, class)


답변