r
2011-09-23 15 views 2 likes 
2

これはおそらく非常に簡単ですが、私は問題を解決できません。以下のコードはエラーを返します:他のリスト内のアイテムからリストに名前を付ける

person = c("name", "surname") 
list(person[1]= "John") 

Error : '=' unexpected in "list(person[1]=" 

私はそれを返すしたいと思います:

$name 
[1] "John" 

これで私を助けてStackOverflowのことはできますか?

答えて

6

おそらく、以下が使用されるであろう:

> p <- list("John", "Smith") 
> names(p) <- c("name", "surname") 
> p 
$name 
[1] "John" 

$surname 
[1] "Smith" 
+0

名前は実際に私の問題だった名前(p)< - 人[1]を使用しています。どうもありがとう! – Sam

2

あなたが名前の変数を経由して、リストの要素にアクセスしようとしているように見えるので、これはあなたが後にあるかであるかもしれません。これは、aixの回答とほとんど同じですが、別のルートを使用しています。

person = c("name", "surname") 

空のリストを作成します。空のリストを作成すると、あとでリストを拡張すると効率が悪くなる可能性があります。

x <- list() 

ここで、「人物」値を使用してこのリストに値を割り当てます。

x[person[1]] <- "John" 

x[person[2]] <- "Smith" 

x 

$name 
[1] "John" 

$surname 
[1] "Smith" 

は、私はあなたのリストを成長を維持したいときには、本当に多くの助けになるだろうとは思わないが、それはあなたがこれらの事が少し良くどのように機能するかを見るのを助けるかもしれません。

関連する問題