我是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
现在我想将每列分别存储在两个不同的向量中area
和energy
。
我试过了:
area <- c(tbl$first)
energy <- c(tbl$second)
但它似乎不起作用。
我需要不同的向量(必须只包含每列的数值数据)才能这样做:
> prob(energy, given = area), i.e. the conditional probability P(energy|area).
然后绘制它。你能帮帮我吗?
答案 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))
诀窍。