-1

我对 R 完全陌生。我尝试阅读参考资料和一些很好的介绍,但我仍然很困惑。

我希望做到以下几点:

我制作了一个 .txt 文件,如下所示:

area,energy 
1.41155882174e-05,1.0914586287e-11
1.46893363946e-05,5.25011714434e-11
1.39244046855e-05,1.57904991488e-10
1.64155121046e-05,9.0815757601e-12
1.85202830392e-05,8.3207522281e-11
1.5256036289e-05,4.24756620609e-10
1.82107587343e-05,0.0

我有以下命令来读取 R 中的文件:

tbl <- read.csv("foo.txt",header=TRUE).

生产:

> tbl
           area       energy
1 1.411559e-05 1.091459e-11
2 1.468934e-05 5.250117e-11
3 1.392440e-05 1.579050e-10
4 1.641551e-05 9.081576e-12
5 1.852028e-05 8.320752e-11
6 1.525604e-05 4.247566e-10
7 1.821076e-05 0.000000e+00

现在我想将每一列存储在两个不同的向量中,分别是areaenergy

我试过了:

area <- c(tbl$first)
energy <- c(tbl$second)

但它似乎不起作用。

我需要不同的向量(必须只包括每列的数字数据)才能这样做:

> prob(energy, given = area), i.e. the conditional probability P(energy|area).

然后绘制它。你能帮我吗?

4

1 回答 1

1

正如@Ananda Mahto 所暗示的那样,问题在于您引用列的方式。

要在 中“获取”数据框的一列R,您有几种选择:

DataFrameName$ColumnName
DataFrameName[,ColumnNumber]
DataFrameName[["ColumnName"]]

所以要得到area,你会这样做:

tbl$area #or
tbl[,1]  #or
tbl[["area"]]

通常首选第一个选项(据我所见)。

顺便说一句,对于您的“最终目标”,您无需执行以下任何操作:

with(tbl, prob(energy, given = area))

成功了。

于 2013-07-24T15:33:57.697 回答