如何解决用 R 中数据帧中的值替换不等式 数据
我有一个涉及多列的数据框,其中存在许多不等式的实例。我想要的是一个 R 脚本,它将识别这些不等式并用实际值替换它们。更具体地说,让我们假设我们有 " 1.0) 替换它。有没有一种通用的方法来做到这一点,这样我就不需要手动查找数据框中的所有不等式并替换它们?
一个简单的例子可能如下:
Col1、Col2、Col3、Col4 2.2、 3.4,4,
我想得到这样的东西:
Col1,Col2,Col3,Col4
2.2,1.5,1
3.4、4、2、5、3
4.2、2、2.1、5
1.3,1,4
解决方法
我们可以用表达式替换 <
并eval
uate
df1[] <- lapply(df1,function(x) sapply(sub("<","(1/2)*",x,fixed = TRUE),function(y) eval(parse(text = y))))
df1
# Col1 Col2 Col3 Col4
#1 2.2 1.5 4.0 1
#2 3.4 4.0 2.5 3
#3 4.2 2.0 2.1 5
#4 1.3 1.0 4.0 4
数据
df1 <- structure(list(Col1 = c(2.2,3.4,4.2,1.3),Col2 = c("<3","4","2","1"),Col3 = c("4","<5","2.1","4"),Col4 = c("<2","3","5","<8")),row.names = c(NA,-4L),class = "data.frame")
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。