하나의 문에 이름이있는 숫자 형 벡터를 만드시겠습니까?
함수 매개 변수의 기본값을 명명 된 숫자로 설정하려고합니다. 하나의 문에서 하나를 만드는 방법이 있습니까? 나는? 숫자 및? 벡터를 확인했지만 그렇게 보이지 않습니다. 아마도 행렬 또는 data.frame을 변환 / 강제하고 하나의 문에서 동일한 결과를 얻을 수 있습니까? 명확하게하기 위해 한 번에 다음 작업을 수행하려고합니다.
test = c( 1 , 2 )
names( test ) = c( "A" , "B" )
벡터 요소의 이름 지정 규칙은 목록과 동일합니다.
newfunc <- function(A=1, B=2) { body} # the parameters are an 'alist' with two items
대신이 매개 변수가 명명 된 벡터 (에서 제공하는 인수를 처리하는 일종의 함수) 인 매개 변수가되도록하려면 다음을 수행하십시오 apply
.
newfunc <- function(params =c(A=1, B=2) ) { body} # a vector wtih two elements
대신 이것이 명명 된 목록 인 매개 변수가되기를 원하는 경우 :
newfunc <- function(params =list(A=1, B=2) ) { body}
# a single parameter (with two elements in a list structure
이 setNames()
기능은이를 위해 만들어졌습니다. 에서 설명한 바와 같이 고급 R 과 ?setNames
:
test <- setNames(c(1, 2), c("A", "B"))
... 부수적으로이 structure
함수를 사용하면 이름뿐만 아니라 모든 속성을 설정할 수 있습니다.
structure(1:10, names=letters[1:10], foo="bar", class="myclass")
어느 것이 생산할 것인가
a b c d e f g h i j
1 2 3 4 5 6 7 8 9 10
attr(,"foo")
[1] "bar"
attr(,"class")
[1] "myclass"
어때 :
c(A = 1, B = 2)
A B
1 2
magrittr은 훌륭하고 깨끗한 솔루션을 제공합니다.
result = c(1,2) %>% set_names(c("A", "B"))
print(result)
A B
1 2
또한 데이터 프레임을 벡터로 변환하는 데 사용할 수도 있습니다.
df = data.frame(value=1:10, label=letters[1:10])
vec = extract2(df, 'value') %>% set_names(df$label)
vec
a b c d e f g h i j
1 2 3 4 5 6 7 8 9 10
df
value label
1 1 a
2 2 b
3 3 c
4 4 d
5 5 e
6 6 f
7 7 g
8 8 h
9 9 i
10 10 j
@joran의 답변을 확장하려면 (이를 주석으로 올바르게 형식화 할 수 없습니다) : 명명 된 벡터가 변수에 할당되면 [
함수를 사용하여 부분 집합을 통해 A와 B의 값에 액세스 합니다. 인덱스 번호를 사용하여 부분 집합을 만드는 것과 동일한 방식으로 이름을 사용하여 벡터를 부분 집합으로 만듭니다.
my_vector = c(A = 1, B = 2)
my_vector["A"] # subset by name
# A
# 1
my_vector[1] # subset by index
# A
# 1
참고 URL : https://stackoverflow.com/questions/7535412/create-a-numeric-vector-with-names-in-one-statement
'Program Tip' 카테고리의 다른 글
C ++에서 int에서 상속 할 수없는 이유는 무엇입니까? (0) | 2020.12.13 |
---|---|
루비에서 사용자의 홈 디렉토리를 얻는 크로스 플랫폼 수단? (0) | 2020.12.13 |
SQL Server Management Studio에서 저장 프로 시저 코드를 보는 방법 (0) | 2020.12.13 |
C에서 Segfault를 생성하는 가장 간단한 표준 준수 방법은 무엇입니까? (0) | 2020.12.13 |
Python에서 ROC 곡선을 그리는 방법 (0) | 2020.12.13 |