R: значения полей доступа

Моя предпочтительная разновидность должна использовать идентификацию класса, когда стили css применяются к нескольким отделениям таким же образом. Если структура или контейнер действительно только применяются однажды или могут наследовать свой стиль от значения по умолчанию, я не вижу оснований для использования идентификации класса.

, Таким образом, это зависело бы от того, является ли Ваше отделение одним из нескольких; например, отделение, представляющее вопрос ответу на stackoverflow веб-сайте. Здесь Вы хотели бы определить стиль для класса "Ответа" и применить это к каждому отделению "Ответа"

10
задан Karl 20 November 2009 в 14:29
поделиться

3 ответа

As another alternative, take a look at attributes. e.g.

example(ur.df)
attributes(lc.df) #lc.df is an ur.df object created during by example.

$y
[1] 10.4831 10.4893 10.5022 10.5240 10.5329 10.5586 10.5190 10.5381
[9] 10.5422 10.5361 10.5462 10.5459 10.5552 10.5548 10.5710 10.5861
[17] 10.5864 10.5802 10.6006 10.6168 10.6275 10.6414 10.6629 10.6758
[25] 10.6881 10.7240 10.7143 10.7222 10.7156 10.6964 10.6990 10.7081
[33] 10.7142 10.7078 10.7073 10.6954 10.6910 10.6967 10.7015 10.7083
[41] 10.7127 10.6922 10.6874 10.6989 10.7224 10.7452 10.7462 10.7663
[49] 10.7633 10.7737 10.8282 10.7872 10.8015 10.8139 10.7909 10.8029
[57] 10.7868 10.7979 10.8007 10.8008 10.7991 10.7956 10.8005 10.8160
[65] 10.8260 10.8405 10.8482 10.8633 10.8633 10.8615 10.8732 10.8649
[73] 10.8793 10.8909 10.8938 10.9116 10.9202 10.9409 10.9663 10.9700
[81] 10.9808 10.9878 11.0048 11.0272 11.0420 11.0701 11.0751 11.0964
[89] 11.1069 11.1123 11.1231 11.1223 11.1303 11.1307 11.1389 11.1325
[97] 11.1261 11.1232 11.1220

$model
[1] "trend"

$lags
[1] 3

# etc.

If you don't want the full output, then names(attributes(lc.df)) returns only the, um, names.

[1] "y"         "model"     "lags"      "cval"      "res"       "teststat"  "testreg"   "test.name" "class" 
12
ответ дан 3 December 2019 в 16:53
поделиться

Единственное, что вы можете сделать, это использовать unclass () .

 ctl <- c(4.17,5.58,5.18,6.11,4.50,4.61,5.17,4.53,5.33,5.14)
 trt <- c(4.81,4.17,4.41,3.59,5.87,3.83,6.03,4.89,4.32,4.69)
 group <- gl(2,10,20, labels=c("Ctl","Trt"))
 weight <- c(ctl, trt)
 anova(lm.D9 <- lm(weight ~ group))
 s <- summary(lm.D90 <- lm(weight ~ group - 1))

Используйте имена, чтобы исследовать это:

 > names(unclass(s))
  [1] "call"          "terms"         "residuals"     "coefficients"  "aliased"            "sigma"         "df"            "r.squared"     "adj.r.squared"
 [10] "fstatistic"    "cov.unscaled" 

А затем указать конкретное значение:

 > s$r.squared
 [1] 0.9817833
5
ответ дан 3 December 2019 в 16:53
поделиться

Помимо unclass () , попробуйте str () . Или прочтите исходный код, чтобы узнать, как это делают другие средства доступа.

Изменить: Вот, например, исходный код метода класса S4 сводка для ur.df , на который вы смотрели:

setMethod("summary", "ur.df", function(object){
  return(new("sumurca", classname="ur.df", test.name=object@test.name,\
    testreg=object@testreg, teststat=object@teststat, cval=object@cval, \
    bpoint=NULL, signif=NULL, model=object@model, type=NULL, auxstat=NULL, \
    lag=NULL, H=NULL, A=NULL, lambda=NULL, pval=NULL, V=NULL, W=NULL, P=NULL))
})

, и он использует стандартный метод доступа @ для элементов объекта S4.

6
ответ дан 3 December 2019 в 16:53
поделиться
Другие вопросы по тегам:

Похожие вопросы: