r - 如何用数据框中的数字替换正则表达式
问题描述
我有一个数据框,其中包含一系列信息,这些信息通过他们当前的董事会成员身份识别一组人。它看起来像这样:
company_board <- c("company1", "company2", "company3; company 1", "", "")
nonprofit_board <- c("nonprofit1", "", "nonprofit5; nonprofit2", "", "nonprofit3")
df <- data.frame(company_board, nonprofit_board, stringsAsFactors = FALSE)
如果单元格中有信息,我想将它们转换为简单的 1,如果没有记录数据,我想将它们转换为 0。所以对于我刚刚给出的例子:
company_board <- c("1", "1", "1", "0", "0")
nonprofit_board <- c("1", "0", "1", "0", "1")
df <- data.frame(company_board, nonprofit_board, stringsAsFactors = FALSE)
我知道如何使用str_extract
with[:alnum:]
来获取应该为 1 的单元格,但我不知道如何将这些单元格替换为 1(其余的替换为 0)。任何帮助将不胜感激!
解决方案
我们也可以转换成直接matrix
申请nchar
+(nchar(as.matrix(df)) > 0)
# company_board nonprofit_board
#[1,] 1 1
#[2,] 1 0
#[3,] 1 1
#[4,] 0 0
#[5,] 0 1
推荐阅读
- jquery - 单击搜索按钮后如何在控制台上获取元素ID,使用jquery
- html - 最后看不到滚动块
- youtube-dl - youtube-dl 脚本的 --playlist-start 选项不起作用
- java - MinAbsSum:给定整数数组,找到元素的最低绝对和
- reactjs - 在 react.js 中存储静态数据
- python - 如何获取 DataFrame 中条件值的行数?
- android - Android:静态变量是否比共享首选项快得多?
- node.js - 尝试通过 socket.io 连接到服务器时出现 CORS 错误
- javascript - 有条件地调用 React Hook “useEffect”
- azure-iot-edge - IoT Edge 离线功能