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

R在不同的向量中存储不同的列以计算条件概率,r,vector,probability,multiple-columns,R,Vector,Probability,Multiple Columns,我对R完全陌生。我试着阅读参考资料和一些好的介绍,但我还是很困惑 我希望做到以下几点: 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

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

我希望做到以下几点:

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
我生成了一个.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).
现在我想将每个列存储在两个不同的向量中,分别是
区域
能量

我试过:

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

然后画出来。你能帮我吗?

正如@Ananda Mahto所提到的,问题在于你提到专栏的方式

要在
R
中“获取”数据帧的列,您有几个选项:

DataFrameName$ColumnName
DataFrameName[,ColumnNumber]
DataFrameName[["ColumnName"]]
因此,要获得
区域
,您需要执行以下操作:

tbl$area #or
tbl[,1]  #or
tbl[["area"]]
第一个选项通常是首选的(据我所见)

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

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

玩这个把戏。

为什么
tbl$先
而不是
tbl$区域
?为什么要将其包装在
c()
?按名称调用数据帧的列:
tbl$area
tbl$energy
,或位置:
tbl[,1]
tbl[,2]
。不需要将它们存储为单独的向量以供以后使用。我建议在来SO寻求帮助之前先熟悉R FAQ-这是一个非常基本的主题。我试过了。我收到以下消息:x$probs:$运算符中的错误对于原子向量无效分别运行
names(x)
class(x)
时发生的情况:NULL和numeric。那么您的问题是
x
不是数据帧。
with(tbl, prob(energy, given = area))