更新data.table中的向量
发布时间:2020-12-15 04:24:31 所属栏目:Java 来源:网络整理
导读:参见英文答案 Using lists inside data.table columns????????????????????????????????????2个 我有这个: dt = data.table(index=c(1,2),items=list(c(1,2,3),c(4,5)))# index items#1: 1 1,3#2: 2 4,5 我想将dt [index == 2,items]更改为c(6,7). 我试过了
参见英文答案 >
Using lists inside data.table columns????????????????????????????????????2个
我有这个: dt = data.table(index=c(1,2),items=list(c(1,2,3),c(4,5))) # index items #1: 1 1,3 #2: 2 4,5 我想将dt [index == 2,items]更改为c(6,7). 我试过了: dt[index==2,items] = c(6,7) dt[index==2,items := c(6,7)] 解决方法
一个解决方法是使用ifelse:
dt[,items:=ifelse(index==2,list(c(6,7)),items)] index items 1: 1 1,3 2: 2 6,7 编辑正确的答案: dt[index==2,items := list(list(c(6,7)))] 实际上,您还需要一个列表,因为data.table使用list(.)来查找通过引用分配给列的值. 有两种方法可以在data.table中使用:=运算符: > LHS:= RHS表格: DT[,c("col1","col2",..) := list(val1,val2,...)] 它需要RHS上的list()参数.要添加列表列,您需要使用另一个列表进行换行(如上所示). DT[,`:=`(col1 = val1,## some comments col2 = val2,## some more comments ...)] 添加一些注释和赋值特别有用. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- java – android spinner NullPointerException
- java – 确定任何webapp和独立应用程序所需的-Xmx和-Xms的
- 多线程 – 具有隐藏窗口的线程的线程消息循环?
- java – Kafka Connect实现错误
- 在java中忽略jackson json反序列化时忽略属性
- java-ee – 如何为WebSphere 8.5编写EJB 3.1客户端?
- java ExecutorService使用方法详解
- java – 没有调用null值的JSF Custom Converter
- Java与Scala功能接口的使用
- java – 为什么这个后台任务因致命异常而失败?