r - R Data.table 操作
问题描述
我有一个 R 数据表,如下所示:
ColName ColContent
1 Caxs are cool
2 Vabs are awesome
我想维护 ColContent 以便x
替换为r
并b
替换为n
,给出结果
ColName ColContent
1 Cars are cool
2 Vans are awesome
如何使用数据表执行此操作?我尝试了 lapply 并分配结果,也尝试了 sapply,但是这两种方法都有问题。
也试过,
colreplacement ='ColContent' #column name is stored in variable
dt= data.table name 数据所在的位置。
dt[,get(colreplacement) := lapply(dt[,get(colreplacement), function(x) str_replace_all(x, c("x"="r","b"="n")))]
但这导致了一个错误:
获取错误(colreplacement):找不到对象“colreplacement”
关于如何让它发挥作用的想法?似乎它没有将变量的名称解析为其在 中的值lapply
,因为dt[,get(colreplacement)]
单独工作正常。
解决方案
stringreplace=function(x){
return(str_replace_all(x,c("x"="r","b"="n")))}
dt[[colreplacement]]=sapply(dt[[colreplacement]],stringreplace)
```
this did the trick
推荐阅读
- javascript - React Hook useEffect 缺少一个依赖项:'formValues'。要么包含它,要么移除依赖数组 react-hooks/exhaustive-deps
- flutter - RenderViewport#0d172 需要-绘制需要-合成-位-更新
- sql - 在 Oracle 表中运行多个插入,如何在每次插入后提交并在最后一个插入点重新启动存储过程?
- jenkins - 如何在 Jenkins 中使用 ssh Api Key
- c# - C# ref 返回值和可移动变量
- php - 类似 SAAS 的 Firebase 身份验证
- python - 从 X 射线图像中检测和分割感兴趣区域
- android - react-native 在底部标签导航中隐藏屏幕的特定标签
- python - 我可以访问 fatimatestpro.pythonanywhere.com 但不能访问 fatimatestpro.pythonanywhere.com/help/
- java - 为什么我使用 Spring Boot 获得“需要 NOAUTH 身份验证”?