R在不同向量中存储不同的列以计算条件概率

时间:2013-07-24 15:27:16

标签: r vector probability multiple-columns

我是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).

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

1 个答案:

答案 0 :(得分: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))

诀窍。