클래스 객체를 배열에 넣고 싶습니다. 그래서 여러 클래스 객체를 참조 할 수 있습니다. 그러나 클래스 정보를 배열에 넣으면 사라질 것입니다. 이 문제를 어떻게 해결할 수 있습니까?R로 클래스의 배열을 만들려면 어떻게해야합니까?
3
A
답변
7
배열은 원 자성 (따라서 하나의 기본 유형의 데이터 만 허용 함)이며 숫자 또는 문자 데이터 만 허용하므로 올바른 도구가 아닙니다. 목록은 R의 제네릭 벡터이므로 목록의 각 구성 요소에는 모든 유형의 객체가 포함될 수 있습니다.
> foo <- 1:10
> class(foo) <- "foo"
> bar <- "a"
> class(bar) <- "bar"
>
> obj <- list(foo = foo, bar = bar)
> obj
$foo
[1] 1 2 3 4 5 6 7 8 9 10
attr(,"class")
[1] "foo"
$bar
[1] "a"
attr(,"class")
[1] "bar"
5
나는 당신이 R의 배열이 다른 개체의 벡터 아니라 다차원 대상이 아닌 R.의 개념 "배열"을 잘못 해석 생각 : 여기
는 두 개의 사용자 정의 S3 클래스의 예입니다 한 클래스의 요소 만 있습니다.list
은 원하는 것을 저장하는 데 사용할 수있는 R 개체입니다. 원하는 경우 차원을 제공 할 수도 있으므로 다차원 목록을 얻을 수 있습니다.이 목록은 설명하는 배열에 해당합니다. 이 값은 이중 대괄호로 묶어야합니다.
예 :
# A list with different objects:
foo <- list("A","B","C","D",1,2,3,4,TRUE,TRUE,FALSE,FALSE)
# Add dimensions:
dim(foo) <- c(2,2,3)
> foo
, , 1
[,1] [,2]
[1,] "A" "C"
[2,] "B" "D"
, , 2
[,1] [,2]
[1,] 1 3
[2,] 2 4
, , 3
[,1] [,2]
[1,] TRUE FALSE
[2,] TRUE FALSE
# index row 1 col 1 slice 1
> foo[[1,1,1]]
[1] "A"
관련 문제
- 1. 공개 배열을 만들려면 어떻게해야합니까?
- 2. deques 배열을 만들려면 어떻게해야합니까?
- 3. Java에서 클래스 배열을 만들려면 어떻게해야합니까?
- 4. 양식 필드 배열을 만들려면 어떻게해야합니까?
- 5. 속성이있는 JavaScript 배열을 만들려면 어떻게해야합니까?
- 6. 네임 스페이스 배열을 만들려면 어떻게해야합니까?
- 7. Perl에서 디렉토리 내용의 배열을 만들려면 어떻게해야합니까?
- 8. C# .NET에서 컨트롤 배열을 만들려면 어떻게해야합니까?
- 9. Linq를 사용하여 XML에서 사전 배열을 만들려면 어떻게해야합니까?
- 10. NSIS 설치 스크립트에서 상수 배열을 만들려면 어떻게해야합니까?
- 11. 2 차원 동적 길이 배열을 만들려면 어떻게해야합니까?
- 12. C++에서 난수 배열 배열을 만들려면 어떻게해야합니까?
- 13. 구조 목록을 R로 자동 생성하려면 어떻게해야합니까?
- 14. 두 모델 클래스의 래퍼 클래스를 objective-c로 만들려면 어떻게해야합니까?
- 15. 인라인 클래스의 하위 클래스를 만들려면 어떻게해야합니까? (FlowDocument에서 사용되는 것)
- 16. 단일 Java 클래스 파일에서 클래스의 인스턴스를 둘 이상 만들려면 어떻게해야합니까?
- 17. 반원들에게 스위치를 만들려면 어떻게해야합니까?
- 18. Java로 일반 목록을 만들려면 어떻게해야합니까?
- 19. Java : 객체의 유형에 따라 지정된 유형의 배열을 동적으로 만들려면 어떻게해야합니까?
- 20. 일반 배열의 두 오프셋에서 연관 배열을 만들려면 어떻게해야합니까?
- 21. Cython에서 고정 길이의 가변적 인 Python 객체 배열을 만들려면 어떻게해야합니까?
- 22. 생성자의 인자가 거의 필요없는 클래스 객체의 배열을 만들려면 어떻게해야합니까?
- 23. 쉼표로 구분 된이 한 줄로 2D 배열을 만들려면 어떻게해야합니까?
- 24. 단일 차원 배열을 다차원 계층 구조로 만들려면 어떻게해야합니까?
- 25. 이 공유 프로토 타입에 별도의 배열을 만들려면 어떻게해야합니까?
- 26. C++ while 루프에서 자동 증가 배열을 만들려면 어떻게해야합니까?
- 27. C#의 문자열에 각 문자의 문자열 배열을 만들려면 어떻게해야합니까?
- 28. Dropbox with PHP에서 디렉토리 내용의 배열을 만들려면 어떻게해야합니까?
- 29. 다른 클래스의 float 배열을 호출
- 30. 일반 목록에서보기를 만들려면 어떻게해야합니까?
대신 목록에서 개체를 넣습니다. 일부 데이터와 코드로 작은 예제를 만들면 누군가가 당신을 도울 수 있습니다. – Andrie
@Andrie 죄송합니다, 죄송합니다. 답변/댓글을 훔쳐 왔습니다. 내 답변을 작성하기 시작했을 때 아무런 의견도 없었습니다 (프로젝트 미팅에서 멀티 태스킹 - wifi하지 않습니다!) –
@ 개빈 : 무엇? 회의 도중에 FB에서 바쁘지 않았 니? :-) –