2013-10-24 14 views
0

속성의 CSV를 읽은 후,이 객체를 기존 객체에 적용하고 싶습니다 (statnet 고유의 규칙을 사용). 이것은 잘하지만, 내가 이름 (아이디, 연령, 성별 등)을 모르는 작품변수에 임의의 이름 지정 R

pred_net %v% "id" <- nodeInfo$id 
pred_net %v% "age" <- nodeInfo$age 
pred_net %v% "sex" <- nodeInfo$sex 
pred_net %v% "handed" <- nodeInfo$handed 
pred_net %v% "lastDocVisit" <- nodeInfo$lastDocVisit 

과 할 싶습니다 : 나는 사전의 이름을 알고, 내가 이런 짓을 했을까 이 같은 :

for (n in names(nodeInfo)) { 
    pred_net %v% n <- nodeInfo$n 
} 

... 나에게 오류를 제공합니다 : n 개의 문자열로 처리되지 않는 변수 이름은 %v% 운영자에게 전달할 수 있기 때문에

Error in set.vertex.attribute(x, attrname = attrname, value = value) : 
    Inappropriate value given in set.vertex.attribute. 

아마도이있다. 어떤 아이디어?

당신은 [[characterVariable]]은 (는 목록 또는 data.frame의 nodeinfo의 랬)와 또한 변수를 선택할 수 있습니다
+0

nodeInfo 란 무엇입니까? data.frame? – digEmAll

답변

2

: 사람에서 사람 실행 그래서 나는이 오래 전 알고

for (n in names(nodeInfo)) { 
    pred_net %v% n <- nodeInfo[[n]] 
} 
+3

'nodeInfo '의 구조에 따라'['대신'[[''를 사용하고 싶을 수도 있습니다. – Justin

+0

@ Justin : 그렇습니다. [[''는 벡터를 직접 반환하기 때문에 더 좋습니다. 어쨌든, 그것은 nodeInfo의 구조에 달려 있습니다 ... – digEmAll

0

은,하지만 같은 문제가 있었다 동일한 문제가 내 솔루션이 유용 할 수도 있습니다. 나는 문자열을 캐스팅하는 요소로 해결했습니다. 기본적으로 초기 df에서 var의 어느 것도 factor가 아니어야하므로 stringsAsFactors = F를 사용하고 df 속성을 사용합니다.