2012-08-04 5 views
-3

루프에서 전달한 값을 사용하여 변수 및 문자열을 만들려면 어떻게해야합니까?R 루프에서 문자열 생성


예 나는 국가 = C를 ('USA', '캐나다', '멕시코')의 세트가있다.

데이터 프레임이 'population'입니다.

데이터베이스를 쿼리하여 채우기를 가져 와서 데이터 프레임의 열에 할당하려고합니다. 데이터베이스에 액세스하는 것에 대해 걱정하지 마십시오. 쿼리 문자열과 데이터 프레임 열 이름을 동적으로 생성하는 것에 만 관심이 있습니다.

for (country in countries) { 
    query = "SELECT population FROM population_database WHERE location='country';" 
    population$country = mysql_query(query) 
} 

답변

3

아마도 paste 기능을 찾고있을 것입니다.

x <- "usa" 
paste("location = ", x) 
#[1] "location = usa" 
+0

불행히도 paste()는 변수 이름을 지정할 때 공백을 삽입하는 것처럼 보입니다. –

+0

regions = '미국' 변수 붙여 넣기 ('rev.', 지역) –

+2

붙여 넣기 ('rev', 지역, sep = '.')'또는 붙여 넣기 ('rev.', 지역, sep = '')', 또는 paste0 ('rev.', region)' – GSee

1

당신은 population[[country]]보다는 population$country합니다. $ 표기법은 [[의 지름길이며 "2 점 사이의 최장 거리는 바로 가기"입니다.

기타 이미 pastepast0을 언급 한 경우 sprintf 또는 gsubfn 패키지를 사용할 수도 있습니다.