Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何将矩阵中的特定列转换为数字类型(r中)?

如何将矩阵中的特定列转换为数字类型(r中)?
EN

Stack Overflow用户
提问于 2021-11-17 06:19:18
回答 1查看 21关注 0票数 0

我有以下矩阵:

代码语言:javascript
运行
AI代码解释
复制
      Type   Tenor Frequency Rate      
 [1,] "SWAP" "1"   "1"       "-0.0048" 
 [2,] "SWAP" "2"   "1"       "-0.00334"
 [3,] "SWAP" "3"   "1"       "-0.00221"
 [4,] "SWAP" "4"   "1"       "-0.00135"
 [5,] "SWAP" "5"   "1"       "-0.00051"
 [6,] "SWAP" "6"   "1"       "0.00022" 
 [7,] "SWAP" "7"   "1"       "9e-04"   
 [8,] "SWAP" "8"   "1"       "0.00156" 
 [9,] "SWAP" "9"   "1"       "0.002155"
[10,] "SWAP" "10"  "1"       "0.002787"

但我需要对其中一些值进行二进制操作,因此需要将列"Tenor“、"Frequency”和"Rate“转换为数字。

我试着使用这个函数: apply(input_matrix,2,as.numeric),它给了我这样的结果:

代码语言:javascript
运行
AI代码解释
复制
      Type Tenor Frequency      Rate
 [1,]   NA     1         1 -0.004800
 [2,]   NA     2         1 -0.003340
 [3,]   NA     3         1 -0.002210
 [4,]   NA     4         1 -0.001350
 [5,]   NA     5         1 -0.000510
 [6,]   NA     6         1  0.000220
 [7,]   NA     7         1  0.000900
 [8,]   NA     8         1  0.001560
 [9,]   NA     9         1  0.002155
[10,]   NA    10         1  0.002787

但只要我用for循环在第一列中插入一个字符串:

代码语言:javascript
运行
AI代码解释
复制
for(row in 1:nrow(input_matrix)) {
  input_matrix[row, 1] <- "SWAP";
}

它将矩阵中的所有值转换回字符串:

代码语言:javascript
运行
AI代码解释
复制
      Type   Tenor Frequency Rate      
 [1,] "SWAP" "1"   "1"       "-0.0048" 
 [2,] "SWAP" "2"   "1"       "-0.00334"
 [3,] "SWAP" "3"   "1"       "-0.00221"
 [4,] "SWAP" "4"   "1"       "-0.00135"
 [5,] "SWAP" "5"   "1"       "-0.00051"
 [6,] "SWAP" "6"   "1"       "0.00022" 
 [7,] "SWAP" "7"   "1"       "9e-04"   
 [8,] "SWAP" "8"   "1"       "0.00156" 
 [9,] "SWAP" "9"   "1"       "0.002155"
[10,] "SWAP" "10"  "1"       "0.002787"

所以我不能在上面做手术。

如何仅将特定列转换为数字列?

我也尝试过apply(input_matrix[,2:4], 2, as.numeric),但它只返回最后3列。

额外的问题:为什么它会有这样的效果(将矩阵中的所有值转换回字符串)?

EN

回答 1

Stack Overflow用户

发布于 2021-11-17 06:42:10

感谢您的评论@caldwellst,我了解到矩阵中不可能有不同的类型,但我可以将矩阵转换为数据帧。

所以我用和以前完全一样的方法创建了我的矩阵,但是我没有在第一列中放入任何值,所以我得到了:

代码语言:javascript
运行
AI代码解释
复制
     Type Tenor Frequency     Rate
[1,]   NA     1         1 -0.00480
[2,]   NA     2         1 -0.00334
[3,]   NA     3         1 -0.00221
[4,]   NA     4         1 -0.00135
[5,]   NA     5         1 -0.00051
[6,]   NA     6         1  0.00022

然后使用input_df = as.data.frame(input_matrix)将其转换为数据帧,然后才将字符串插入到第一列中:

代码语言:javascript
运行
AI代码解释
复制
for(row in 1:nrow(input_df)) {
  input_df[row, 1] <- "SWAP";
}

现在,我有了最后3列中包含数字的数据帧:

代码语言:javascript
运行
AI代码解释
复制
  Type Tenor Frequency     Rate
1 SWAP     1         1 -0.00480
2 SWAP     2         1 -0.00334
3 SWAP     3         1 -0.00221
4 SWAP     4         1 -0.00135
5 SWAP     5         1 -0.00051
6 SWAP     6         1  0.00022
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70006040

复制
相关文章
41:判断元素是否存在
41:判断元素是否存在 查看 提交 统计 提问 总时间限制: 1000ms 内存限制: 65536kB描述 有一个集合M是这样生成的: (1) 已知 k 是集合 M 的元素; (2) 如果 y 是 M 的元素,那么, 2y+1 和 3y+1 都是 M 的元素; (3) 除了上述二种情况外,没有别的数能够成为 M 的一个元素。 问题:任意给定 k 和 x,请判断 x 是否是 M 的元素。这里的 k是无符号整数,x 不大于 100000, 如果是,则输出YES,否则,输出 NO 输入输入整数 k 和 x,
attack
2018/04/11
4K0
python 判断属性是否存在
hasattr(object, name)    说明:判断对象object是否包含名为name的特性(hasattr是通过调用getattr(ojbect, name)是否抛出异常来实现的)。    参数object:对象。    参数name:特性名称。    返回为True或者为False 不过自己也可以定义一个方法 def getattribute(self, name): try:
py3study
2020/01/06
5.5K0
刷题:判断是否存在重复元素
解析:给定数组,数组有重复元素,就返回true,没有返回false,这是典型的用list和for循环的题。思路:for循环遍历list,去判断第一个 和剩余的是否存在相等的,有相等的 代表存在重复元素,返回true,否则,返回false。
雷子
2021/03/15
9530
刷题:判断是否存在重复元素
golang 判断元素是否存在数组中
现在只能这样写,因为还没有泛型嘛。Intfunc IsContainInt(items []int, item int) bool { for _, eachItem := range items { if eachItem == item { return true } } return false} stringfunc IsContain(items []string, item string) bool { for _, ea
IT工作者
2022/08/06
7.2K0
js判断属性是否存在(javascript的特点)
var array = [{‘yaxis’:22,’lines’:true},{‘lines’:true}]
全栈程序员站长
2022/07/28
6.3K0
Js判断数组中是否存在某个元素「建议收藏」
Item:要查找的值;start:可选的整数参数,缺省则从起始位子开始查找。 indexOf();返回元素在数组中的位置,如果没有则返回-1;
全栈程序员站长
2022/11/02
6.8K0
如何判断一个元素在亿级数据中是否存在?
我想大多数想到的都是用 HashMap 来存放数据,因为它的写入查询的效率都比较高。
纯洁的微笑
2019/09/05
2.7K0
如何判断一个元素在亿级数据中是否存在?
我想大多数想到的都是用 HashMap 来存放数据,因为它的写入查询的效率都比较高。
五分钟学算法
2019/09/30
1.9K0
如何判断一个元素在亿级数据中是否存在?
如何判断一个元素在亿级数据中是否存在?
我想大多数想到的都是用 HashMap 来存放数据,因为它的写入查询的效率都比较高。
kirito-moe
2019/11/05
1.6K0
如何判断一个元素在亿级数据中是否存在?
如何使用Shell脚本判断HDFS文件/目录是否存在
本文主要讲述如何使用Shell脚本判断HDFS文件或目录是否存在,算是一个小技巧吧,这几天做PoC的时候感觉还挺有用的。因为HDFS设计的是“一次写入,多次读取”,不可以修改数据,只能追加或者删除,所以,如果目标文件或目录在HDFS上已经存在的话,则无法创建成功。
Fayson
2018/09/29
5.7K0
如何判断一个元素在亿级数据中是否存在?
我想大多数想到的都是用 HashMap 来存放数据,因为它的写入查询的效率都比较高。
crossoverJie
2022/10/27
1.4K0
如何判断一个元素在亿级数据中是否存在?
如何判断一个元素在亿级数据中是否存在?
我想大多数想到的都是用 HashMap 来存放数据,因为它的写入查询的效率都比较高。
Java3y
2019/08/27
1.4K0
如何判断一个元素在亿级数据中是否存在?
php in_array 判断数组中是否存在此元素
判断数组中是否存在此元素在php中很简单,直接使用 in_array即可。用法如下 :
1_bit
2020/10/23
2.1K0
PHP检查对象或类中是否存在属性
$obj = \app\common\library\Email::instance(); $obj->p=889; if(isset($obj->p)){ echo 66; }else{ echo 99; } die; isset既可以判断对象的属性是否存在,也可以判断数组的键名是否存在 未经允许不得转载:肥猫博客 » PHP检查对象或类中是否存在属性
超级小可爱
2023/02/20
4.6K0
UI自动化 - 如何判断一个页面上元素是否存在?
在做 UI 自动化时,使用 UI 自动化测试工具进行自动化测试,如何判断一个页面上元素是否存在?
霍格沃兹测试开发Muller老师
2022/12/21
8440
如何判断Javascript对象是否存在
Javascript语言的设计不够严谨,很多地方一不小心就会出错。 举例来说,请考虑以下情况。 现在,我们要判断一个全局对象myObj是否存在,如果不存在,就对它进行声明。用自然语言描述的算法如下:   if (myObj不存在){     声明myObj;   } 你可能会觉得,写出这段代码很容易。但是实际上,它涉及的语法问题,远比我们想象的复杂。Juriy Zaytsev指出,判断一个Javascript对象是否存在,有超过50种写法。只有对Javascript语言的实现细节非常清楚,才可能分
ruanyf
2018/04/12
2.9K0
如何快速准确的验证QQ邮箱是否开通,是否存在?
QQ是国内比较大的公共邮箱之一,做国内邮件营销的企业,无法避免需要做QQ邮件营销。既然是比较大的公共邮箱,那么群发邮件到达收件箱的难度也是比较有挑战性的。
用户2411043
2019/03/03
4.3K0
如何确定EasyCVR本地流媒体是否启动成功?
EasyCVR视频协议融合平台不仅支持常规协议的接入,我们还拓展了海康SDK、大华SDK、Ehome等私有协议。如果前端设备协议不同且数量较多,则可以通过EasyCVR平台来对所有视频通道做整合和统一管理。而且,EasyCVR提供了丰富的API接口,用户均可通过接口文档进行调用。
TSINGSEE青犀视频
2021/11/11
7160
Airtest IDE 自动化测试10 - exists 判断元素是否存在
exists 方法是判断是否存在,如果存在返回图片中心点坐标,如果不存在返回 False
上海-悠悠
2021/06/24
3.8K0
Airtest IDE 自动化测试10 - exists 判断元素是否存在
如何使用GORM判断数据库中数据是否存在异常?
在编译EasyNVR的时候,我们为了防止数据库内的表重复,使用了sqlite3_exec函数来判断一个表是否存在。但在EasyDSS中,我们使用的是GORM方式。ORM是Golang目前比较热门的数据库ORM操作库,对开发者比较友好,使用也方便简单。在EasyDSS在调用该方式过程中,出现了以下错误:
TSINGSEE青犀视频
2021/02/23
4.1K0

相似问题

TestCafe:使用testcafe测试元素的边框属性

10

如何使用SinonJS确定属性是否存在?

20

确定元素是否存在

32

如何使用rational test workbench确定属性是否存在

119

如何检查Testcafe中是否存在文本

121
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档