如何舍入R列表中的值-仅舍入数字值?

Matandked

我的问题似乎就这么简单,但是我不明白哪里出了问题。

我有以下数据:

myData <- structure(list(structure(0.964671123392506, .Names = "W"), 0.022361343060769242, 
                         structure(0.964695704055953, .Names = "W"), 0.022162269470046909, 
                         structure(0.958418109351607, .Names = "W"), 0.045107813263059401, 
                         structure(0.874545371360235, .Names = "W"), 1.59340622525965e-06), .Dim = c(2L, 
                                                                                                     4L), .Dimnames = list(c("Measure", "c-value"), c("col1", 
                                                                                                                                                      "col2", "col3", "col4")))

清单:

typeof(myData)
[1] "list"

我希望将所有元素四舍五入到选定的位数。我不能简单地应用舍入函数,因此我编写了以下函数:

roundMe <- function(x, numbers=3) 
  {
  if ( is.numeric(x) ) {x <- as.character(sprintf("%3.2f", round(x, digits=numbers)))}
  #there's problem:
  x
}

并尝试将其应用

apply(myData,1:2,roundMe)

这使:

        col1   col2   col3   col4  
Measure List,1 List,1 List,1 List,1
c-value List,1 List,1 List,1 List,1

当我将roundMe(函数的最后一行)中的“ x”更改为as.character(x)时,它不返回四舍五入的数字。怎么了?我应该使用另一个套用功能吗?我应该将列表转换为例如数据框吗?

nel

你有一个清单。不要使用apply,将强制转换为矩阵,而是使用lapply和一起[<-替换的内容,myData同时保留原始结构,

现在,我看不到任何原因,为什么您只能使用round并保留数字字段而试图强制转换为字符

myData[] <- lapply(myData,round,2)
myData
#         col1 col2 col3 col4
# Measure 0.96 0.96 0.96 0.87
# c-value 0.02 0.02 0.05 0 

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何用R中的舍入值查找和替换文本中的数字?

来自分类Dev

在R中的数据框中舍入值

来自分类Dev

在R中的数据框中舍入值

来自分类Dev

如何舍入 SQL Server 中的以下值?

来自分类Dev

如何舍入 Spark sql 中的值

来自分类Dev

仅舍入.fillna值。不是python中的整个列

来自分类Dev

as.integer(vector)更改矢量,即使它仅包含舍入值(在r中)

来自分类Dev

Swing中的舍入Double值

来自分类Dev

舍入 JavaScript 中的输入值

来自分类Dev

将数据框中的舍入舍入到最接近的特定浮点值(舍入到非整数列表)

来自分类Dev

舍入值取决于舍入值

来自分类Dev

在 ggpairs 中舍入数字

来自分类Dev

停止PHP舍入值

来自分类Dev

如何在C#中舍入浮点值?

来自分类Dev

如何在mongodb聚合中舍入一个值

来自分类Dev

如何在flutter中舍入一个double值

来自分类Dev

如何在C#中舍入浮点值?

来自分类Dev

如何在C#中获取小数的舍入值

来自分类Dev

如何在rdlc报表中舍入十进制值

来自分类Dev

R中的中值-返回舍入数字

来自分类Dev

如何防止舍入液体中的数字

来自分类Dev

在Java中舍入字符串值

来自分类Dev

在Excel中向上舍入查找值

来自分类Dev

如何避免此列表中的舍入错误?

来自分类Dev

从div元素中读取数字值,并舍入到小数点后2位

来自分类Dev

SSIS派生的列舍入值

来自分类Dev

QVector追加截断/舍入值

来自分类Dev

noUiSlider:调整舍入的输入值

来自分类Dev

用浮动值控制舍入