同様の質問にこのサイト上の他の回答から、とhttp://www.r-tutor.com/r-introduction/data-frame/data-frame-column-vectorのようなページから、私が同じ結果が得られるはずdata.frame
、data[ , "col"]
とdata$col
から変数を抽出しているようです。しかし、今、私はExcelでいくつかのデータを持っている:今私は、データフレームから単一の変数を抽出
library(readxl)
data <- read_excel("data.xlsx", "Sheet 1")
:)
LU Urban_LU LU_Index Urban_LU_index
Residential Residential 2 0
Rural residential Residential 3 0
Commercial Commercial 4 1
Public institutions including education Industrial 5 1
Industry Industrial 7 2
を、私はreadxl
パッケージからread_excel
でそれを読みます[
または$
を使用して:
data[ , "LU"]
# Source: local data frame [5 x 1]
#
# LU
# (chr)
# 1 Residential
# 2 Rural residential
# 3 Commercial
# 4 Public institutions including education
# 5 Industry
data$LU
# [1] "Residential" "Rural residential"
# [3] "Commercial" "Public institutions including education"
# [5] "Industry"
length(data[ , "LU"])
# [1] 1
length(data$LU)
# [1] 5
class(data)
# [1] "tbl_df" "tbl" "data.frame"
class(data[ , "LU"])
# [1] "tbl_df" "data.frame"
class(data$LU)
# [1] "character"
>
ので[ , "col"]
と$col
の違いは何でしょう:
また、read_excel
から得られたデータのクラスや抽出の異なる2つのモードから得られるデータは、不審な私が見つけていますか?私はマニュアルから何かを見逃しているのですか、これは特別なケースですか?また、tbl_df
とtbl
クラス識別子とは何ですか?私は彼らが私の混乱の原因だと思っています、どういう意味ですか?クラスtbl_df
のreadxl::read_xl
戻っ出力が不十分?read_xl
に文書らしいという事実
:拡張コメントの
はい、これは特殊なケースです。あなたはハドリーの世界に入りました。あなたが 'data < - as.data.frame(data)'を実行した場合、 'data [、" LU "]'を実行するときには良いはずです。 'readxl'を使う必要があるためです。 –
'data'は"本当の "data.frameではありません。 –
右 - 確かにそれは動作させる。簡潔さのために、私は元の質問から、readxlのドキュメントが返り値の型を明示的に文書化していないことが疑わしいことが既に分かっていることを忘れてしまった。そこには何が起こっているのかを私が読むことができるどこかにありますか? – Roel