在R中转换数据对象
我有一个名为dat的数据对象,如下所示:在R中转换数据对象,r,R,我有一个名为dat的数据对象,如下所示: > dat PC1 PC2 PC3 PC4 PC5 6.403056e-04 5.433502e-04 7.888467e-05 6.776798e-05 2.589316e-05 > dat = data.frame(PC1=6.403056e-04, PC2=5.433502e-04, PC3=7.888467e-05, PC4=6.7
> dat
PC1 PC2 PC3 PC4 PC5
6.403056e-04 5.433502e-04 7.888467e-05 6.776798e-05 2.589316e-05
> dat = data.frame(PC1=6.403056e-04, PC2=5.433502e-04, PC3=7.888467e-05, PC4=6.776798e-05,PC5=2.589316e-05)
> dat
PC1 PC2 PC3 PC4 PC5
1 0.0006403056 0.0005433502 7.888467e-05 6.776798e-05 2.589316e-05
> names(dat)
[1] "PC1" "PC2" "PC3" "PC4" "PC5"
> names(dat) <- NULL
> dat
[1] 6.403056e-04 5.433502e-04 7.888467e-05 6.776798e-05 2.589316e-05
我想把dat转换成:
> dat
[1] 6.403056e-04 5.433502e-04 7.888467e-05 6.776798e-05
[5] 2.589316e-05
如何在R中执行此操作?如果我正确理解您的需要,您有一个如下的数据帧dat:
> dat
PC1 PC2 PC3 PC4 PC5
6.403056e-04 5.433502e-04 7.888467e-05 6.776798e-05 2.589316e-05
> dat = data.frame(PC1=6.403056e-04, PC2=5.433502e-04, PC3=7.888467e-05, PC4=6.776798e-05,PC5=2.589316e-05)
> dat
PC1 PC2 PC3 PC4 PC5
1 0.0006403056 0.0005433502 7.888467e-05 6.776798e-05 2.589316e-05
> names(dat)
[1] "PC1" "PC2" "PC3" "PC4" "PC5"
> names(dat) <- NULL
> dat
[1] 6.403056e-04 5.433502e-04 7.888467e-05 6.776798e-05 2.589316e-05
如果是这样,可以得到如下向量:
> as.numeric(dat[1,])
[1] 6.403056e-04 5.433502e-04 7.888467e-05 6.776798e-05 2.589316e-05
。。。根据对的回答。正如其他人指出的那样,您需要提供更多信息–从您提供的信息中,不清楚您的数据实际上是什么类型的。您可能有一个data.frame,在这种情况下,您可以使用Simon的答案。但是,您的输出也可以很容易地成为带有命名元素的向量:
dat <- c(PC1=6.403056e-04, PC2=5.433502e-04, PC3=7.888467e-05, PC4=6.776798e-05, PC5=2.589316e-05)
> dat
PC1 PC2 PC3 PC4 PC5
6.403056e-04 5.433502e-04 7.888467e-05 6.776798e-05 2.589316e-05
> class(dat)
[1] "numeric"
在这种情况下,除了元素标签之外,您已经拥有了所需的内容。如果你真的需要除掉这些,你可以这样扔掉它们:
> dat
PC1 PC2 PC3 PC4 PC5
6.403056e-04 5.433502e-04 7.888467e-05 6.776798e-05 2.589316e-05
> dat = data.frame(PC1=6.403056e-04, PC2=5.433502e-04, PC3=7.888467e-05, PC4=6.776798e-05,PC5=2.589316e-05)
> dat
PC1 PC2 PC3 PC4 PC5
1 0.0006403056 0.0005433502 7.888467e-05 6.776798e-05 2.589316e-05
> names(dat)
[1] "PC1" "PC2" "PC3" "PC4" "PC5"
> names(dat) <- NULL
> dat
[1] 6.403056e-04 5.433502e-04 7.888467e-05 6.776798e-05 2.589316e-05
但是,删除它们可能没有真正的好处。如果您现在在数据样本上添加调用dput的输出,则更容易提供具体帮助,如果此处存在数据类型问题,我们无法看到可能的重复