Tôi muốn đặt một khung dữ liệu dựa trên các cột khác nhau, một lần lượt. Tôi có một vector nhân vật với các tên cột liên quan theo đó order
cần căn cứ:
parameter <- c("market_value_LOCAL", "ep", "book_price", "sales_price", "dividend_yield",
"beta", "TOTAL_RATING_SCORE", "ENVIRONMENT", "SOCIAL", "GOVERNANCE")
Tôi muốn để lặp qua các tên trong parameter
và tự động chọn cột được sử dụng để order
dữ liệu của tôi:
Q1_R1000_parameter <- Q1_R1000[order(Q1_R1000$parameter[X]), ]
trong đó X
là 1:10
(vì tôi có 10 mục trong parameter
).
Để làm ví dụ của tôi tái sản xuất, xem xét các dữ liệu thiết mtcars
và một số tên biến được lưu trữ trong một vector nhân vật cols
. Khi tôi cố gắng chọn một biến từ mtcars
sử dụng một tập hợp con năng động của cols
, theo một cách tương tự như trên (Q1_R1000$parameter[X]
), cột không được chọn:
cols <- c("cyl", "am")
mtcars$cols[1]
# NULL
không NSE có ý nghĩa gì ở đây? – discipulus
@discipulus phi tiêu chuẩn đánh giá; đó là để làm việc với các biểu thức bị trì hoãn để tự động tạo mã bằng các chuỗi thay vì mã hóa cứng. Xem tại đây để biết thêm thông tin: https://cran.r-project.org/web/packages/lazyeval/vignettes/lazyeval.html – manotheshark