string - 从 R 中的数据框中删除所有字符串?

标签 string r spreadsheet

所以我在 R 中有一个数据框,其中包含整数、NA 和单元格内的随机字符串分类。每个单元格只有一种数据类型。我想知道的是如何将所有包含字符串的单元格更改为 NA。知道我该怎么做吗?

最佳答案

如果您的数据框 (df) 实际上是除 NA 和垃圾之外的所有整数,那么以下内容将对其进行转换。

df2 <- data.frame(lapply(df, function(x) as.numeric(as.character(x))))

您会收到有关由强制转换引入的 NA 的警告,但这只是所有那些变成 NA 的非数字字符串。

下面的代码也可以工作,而且更简洁但运行速度较慢。

df2 <- apply(df, 2, function(x) as.numeric(as.character(x)))

如果您只想转换选定的列,那么您可以使用稍微复杂一些的命令。首先,您需要确定要转换的列。也许您将它们保存为您希望更改的列的逻辑向量。

df2 <- cbind(df[,!columnsToChange], apply(df[,columnsToChange], 2, function(x) as.numeric(as.character(x)))

这会使事情变得困惑,但它会让你很容易得到你想要的东西。

关于string - 从 R 中的数据框中删除所有字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3460825/

相关文章:

c# - LINQ to SQL - 从 Var 获取字符串

r - optim 中的目标函数评估长度为 2 而不是 1

excel - 如何根据 Excel 中的三列接收单元格数量?

excel - 仅当满足范围外的条件时才对范围内的值进行计数

c++ - 如何使用 string.substr() 函数?

java - 从字符串中提取目录

c - 字符串数组访问错误

r - 生成特定区间内的随机数

r - 如何对齐多行标题

google-sheets - 将 Google 工作表单元格文本值转换为浮点值