Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在R中转换数据对象_R - Fatal编程技术网

在R中转换数据对象

在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的数据对象,如下所示:

> 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的输出,则更容易提供具体帮助,如果此处存在数据类型问题,我们无法看到可能的重复