この質問に(ほとんど)答えている過程で、私は本当に以前に見たはずの何かに出くわしました。リストがあるとしましょう:
l <- list(a = 1:3, b = letters[1:3], c = runif(3))
さまざまな型に強制しようとするとl
、エラーが返されます。
> as.numeric(l)
Error: (list) object cannot be coerced to type 'double'
> as.logical(l)
Error: (list) object cannot be coerced to type 'logical'
ただし、リストを文字に強制することは明らかに許可されていますが、この結果は期待していませんでした:
> as.character(l)
[1] "1:3"
[2] "c(\"a\", \"b\", \"c\")"
[3] "c(0.874045701464638, 0.0843329173512757, 0.809434881201014)"
むしろ、リストを文字に強制することが許可されていれば、次のような動作が見られると思っていたでしょう。
> as.character(unlist(l))
[1] "1" "2" "3" "a" "b"
[6] "c" "0.874045701464638" "0.0843329173512757" "0.809434881201014"
リスト要素を指定する方法は、もともとの出力に影響することに注意してくださいas.character
。
l <- list(a = c(1,2,3), b = letters[1:3], c = runif(3))
> as.character(l)
[1] "c(1, 2, 3)"
[2] "c(\"a\", \"b\", \"c\")"
[3] "c(0.344991483259946, 0.0492411875165999, 0.625746068544686)"
2 つの質問があります。
- 対.
as.character
_l
_1:3
_c(1,2,3)
- 正確には、どのような状況でこれを行いたいですか?
as.character()
リストを呼び出して、このフォームの出力を取得したいのはいつですか?