R:为什么找不到变量

时间:2018-02-14 22:38:18

标签: r

我是R的新手,我认为我从根本上错过了一些东西。为什么不能找到我提供的变量并且没有变化?换句话说,我根本不能使用我的变量。

> dat = read_sas("e:/Users/mhollifi/Desktop/cps/ex1_1/jan00pub.sas7bdat", "e:/Users/mhollifi/Desktop/cps/ex1_1/formats.sas7bcat")
> summary(PENATVTY)
Error in summary(PENATVTY) : object 'PENATVTY' not found
> names(dat)
[1] "PEEDUCA"     "PENATVTY"    "cntryorigin"
> print(dat)
# A tibble: 96,589 x 3
   PEEDUCA PENATVTY cntryorigin
     <dbl>    <dbl>       <dbl>
 1    34.0     57.0           0
 2    40.0     57.0           0
 3    37.0     57.0           0
 4    37.0     57.0           0
 5    40.0     57.0           0
 6    39.0     57.0           0
 7    39.0     57.0           0
 8    39.0     57.0           0
 9    39.0     57.0           0
10    43.0     57.0           0
# ... with 96,579 more rows
> exists("PENATVTY")
[1] FALSE
> summary(PENATVTY)
Error in summary(PENATVTY) : object 'PENATVTY' not found
>   lapply(PENATVTY, mean, na.rm = TRUE)
Error in lapply(PENATVTY, mean, na.rm = TRUE) : 
  object 'PENATVTY' not found

1 个答案:

答案 0 :(得分:1)

PENATVTY不是R会话中的对象。 dat是一个名为PENATVTY的列。

所有dat$PENATVTYdat[[PENATVTY]]dat[,"PENATVTY"]都会返回您要查找的内容。如果您想使用summary,可以执行以下操作:

PENATVTY <- dat$PENATVTY #creates a vector named PENATVTY containing the column from dat
summary(PENATVTY)

您也可以直接操纵dat$PENATVTY

summary(dat$PENATVTY)

如果您想要PENATVTY的平均值,则不需要lapply

mean(dat$PENATVTY,na.rm=TRUE)

会给出平均值。