[python] 새 항목을 추가하기 위해 빈 R 벡터를 만드는 방법

Rpy2 모듈에서 제공하는대로 Python에서 R을 사용하고 싶습니다. R에는 []특정 열이나 줄을 추출 할 수있는 매우 편리한 작업이 있습니다. 파이썬 스크립트로 어떻게 그러한 기능을 얻을 수 있습니까?

내 생각은 R 벡터를 만들고 원하는 요소를이 벡터에 추가하여 최종 벡터가 R의 것과 동일하도록하는 seq()것입니다.를 만들었지 만 초기 숫자 1이있는 것 같으므로 최종 결과는 항상 내가 원하는 것이 아닌 숫자 1로 시작하십시오. 그래서, 이것을하는 더 좋은 방법이 있습니까?



답변

vec <- vector()

벡터 도움말 참조

?vector


답변

벡터를 미리 할당합니다.

> (a <- rep(NA, 10))
 [1] NA NA NA NA NA NA NA NA NA NA

그런 다음 []를 사용하여 값을 삽입 할 수 있습니다.


답변

이렇게 빈 벡터를 만들 수 있습니다.

vec <- numeric(0)

그런 다음 c ()를 사용하여 요소를 추가하십시오.

vec <- c(vec, 1:5)

그러나 romunov가 말했듯이 벡터를 미리 할당 한 다음 채우는 것이 훨씬 낫습니다 (요소를 추가 할 때마다 벡터의 새 복사본을 재 할당하는 것을 방지하기 때문입니다).


답변

빈 벡터를 만들려면 다음을 사용하십시오.

vec <- c();

필요한 벡터 유형 (예 : 숫자)에 대해 어떤 가정도하지 않습니다.

벡터가 생성되면 다음과 같이 요소를 추가 할 수 있습니다.

예를 들어 숫자 값 1을 추가하려면

vec <- c(vec, 1);

또는 문자열 값 “a”를 추가하려면

vec <- c(vec, "a");


답변

나는 또한 보았다

x <- {}

이제 모든 차원의 벡터를 연결하거나 바인딩 할 수 있습니다. x

rbind(x, 1:10)
cbind(x, 1:10)
c(x, 10)


답변

Brani가 지적했듯이 vector ()는 솔루션입니다.

newVector <- vector(mode = "numeric", length = 50)

초기 값으로 50 개의 “0”이있는 “newVector”라는 벡터를 반환합니다. 확장 된 벡터에 도달하기 위해 기존 벡터에 새 스칼라를 추가하는 것도 매우 일반적입니다.

aVector <- c(aVector, newScalar)


답변

rpy2에서 R과 함께 “[“와 동일한 연산자를 얻는 방법은 “.rx”를 사용하는 것입니다. rpy2로 추출하는 방법 에 대한 문서를 참조하십시오.

벡터를 만들 때 Python을 사용하는 방법을 알고 있다면 문제가 없어야합니다. 벡터 생성에 대한 문서를 참조하십시오.