如何将数据框列转换为数字类型?

2024-01-01

如何将数据框列转换为数字类型?


由于(仍然)没有人得到复选标记,我假设您考虑了一些实际问题,主要是因为您没有指定要转换为的向量类型numeric。我建议你应该申请transform功能以完成您的任务。

现在我要演示某些“转换异常”:

# create dummy data.frame
d <- data.frame(char = letters[1:5], 
                fake_char = as.character(1:5), 
                fac = factor(1:5), 
                char_fac = factor(letters[1:5]), 
                num = 1:5, stringsAsFactors = FALSE)

让我们看一下data.frame

> d
  char fake_char fac char_fac num
1    a         1   1        a   1
2    b         2   2        b   2
3    c         3   3        c   3
4    d         4   4        d   4
5    e         5   5        e   5

让我们运行:

> sapply(d, mode)
       char   fake_char         fac    char_fac         num 
"character" "character"   "numeric"   "numeric"   "numeric" 
> sapply(d, class)
       char   fake_char         fac    char_fac         num 
"character" "character"    "factor"    "factor"   "integer" 

现在你可能会问自己“异常在哪里?”嗯,我在 R 中遇到了非常奇怪的事情,而这不是the最令人困惑的事情,但它可能会让你感到困惑,特别是如果你在上床睡觉之前读到这篇文章。

Here goes: first two columns are character. I've deliberately called 2nd one fake_char. Spot the similarity of this character variable with one that Dirk created in his reply. It's actually a numerical vector converted to character. 3rd and 4th column are factor, and the last one is "purely" numeric.

如果您使用transform函数,您可以将fake_char into numeric,但不是char变量本身。

> transform(d, char = as.numeric(char))
  char fake_char fac char_fac num
1   NA         1   1        a   1
2   NA         2   2        b   2
3   NA         3   3        c   3
4   NA         4   4        d   4
5   NA         5   5        e   5
Warning message:
In eval(expr, envir, enclos) : NAs introduced by coercion

但如果你做同样的事情fake_char and char_fac,你会很幸运,并且不会出现 NA 的情况:

> transform(d, fake_char = as.numeric(fake_char), 
               char_fac = as.numeric(char_fac))

  char fake_char fac char_fac num
1    a         1   1        1   1
2    b         2   2        2   2
3    c         3   3        3   3
4    d         4   4        4   4
5    e         5   5        5   5

如果保存转换后的data.frame并检查mode and class, 你会得到:

> D <- transform(d, fake_char = as.numeric(fake_char), 
                    char_fac = as.numeric(char_fac))

> sapply(D, mode)
       char   fake_char         fac    char_fac         num 
"character"   "numeric"   "numeric"   "numeric"   "numeric" 
> sapply(D, class)
       char   fake_char         fac    char_fac         num 
"character"   "numeric"    "factor"   "numeric"   "integer"

所以,结论是:是的,您可以转换character向量化为numeric一,但前提是它的元素可以“转换”为numeric.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将数据框列转换为数字类型? 的相关文章

  • 在 for 循环中绘制的多个 ggplot2 绘图的网格

    作为一个新的 ggplot2 用户 我对可能性的数量感到有点迷失 并且很难在网上找到我认为简单问题的简单答案 我想在同一张纸上显示 ggplot2 的多个图 但知道这些图来自 for 循环 以下示例无法编译 仅用于说明 for i in c
  • 在 Shiny 中使用 readlines(prompt = )

    我有一个代码 使用以下方式获取输入readlines prompt 功能 您能告诉我 Shiny 中的哪个输入函数足以将此代码适应 Shiny 应用程序吗 我需要一个交互功能 我无法使用简单的输入selectInput 因为我有很多read
  • 包检查时如何有效处理未压缩的保存?

    在最近开发一个包的过程中 我将数据集包含在data 我的包的文件夹 在我的具体情况下 我有 5 个数据集 所有这些数据集都位于data table格式 尽管我在下面描述的问题仍然存在 如果我将它们保留为data frame 我已将每个人单独
  • udunits2 R 安装:找不到 udunits2.h

    我正在尝试在 R 中安装 udunits2 以满足对ggforce包裹 但是 安装程序在检查 udunits2 时始终失败 我已经尝试过中的说明this https stackoverflow com questions 47059517
  • R 中 write.table 文件名中的变量

    请帮助我解决一个幼稚的问题 已经用谷歌搜索 并尝试了很多变体 但失败了 如何使用 R 中 write table 的文件名中的变量保存文件 脚本循环遍历 dir 中的文件 应用一些函数 然后将结果保存到具有相同名称但附加结尾的文件中 谢谢
  • 按绝对值排序

    有谁知道如何按绝对值对 R 中的向量进行排序 所以 2 3 1 gt 1 2 3 etc 如果我在 python 中这样做 我会创建一对每个值及其符号 按绝对值对对列表进行排序 然后重新应用符号 但我对 R 很陌生 所以不知道如何执行此操作
  • 如何在R中逐行写入文件

    我正在尝试逐行读取 csv 文件 并且仅选择左侧的第二个和第三个单元格以及右侧的第三个单元格 例如 如果这一行中有 17 个单元格 我将选取第 15 个单元格 然后我想合并这 3 个单元格 用逗号分隔 然后将此行写入一个新的 csv 文件
  • 在ggplot2中创建部分虚线

    我正在 R 中创建一个图 并且需要创建一条线 其中某些值是投影 投影用虚线表示 这是代码 df data frame date c rep 2008 2013 by 1 value c 303 407 538 696 881 1094 gg
  • 在 R 中修改传单弹出窗口

    我想修改 R 中传单弹出窗口的外观 帮助文件指出 in the popupOptions 函数需要 传递给底层 Javascript 对象构造函数的额外选项 In 这个例子 https rstudio github io leaflet p
  • 带有嵌套分组变量的多行轴标签,用于 - R 中的堆积条形图

    我想使用 ggplot 制作一个包含多个类别的堆叠条形图 并带有嵌套的标记 X 轴 类似于我使用 Excel 制作的条形图 如此处所示 我尝试使用给出的例子here https stackoverflow com questions 181
  • 我可以调整scale_color_brewer的下限吗?

    我已经订购了我想使用 color Brewer 的分类数据 但我很难看到非常低的值 有没有办法去掉这些较低的值或设置范围的下限 ggplot data frame x 1 6 y 10 15 w letters 1 6 aes x y co
  • 使用 R 中的 tidyverse 重新调整因子和重新排序因子

    我想使用这些功能重新调平 and 重新排序 在我的数据框中 我了解重新调整级别的工作原理 但我不明白为什么我在 data frame 中看不到级别的变化 例如 假设我有鸢尾花数据集 library tidyverse head iris g
  • 如何使用r中的dplyr在特定位置插入空白行

    我想在数据框中的特定位置插入空白行 我的数据框是这样的 dat lt data frame group c rep A 1 rep B 4 rep C 2 rep D 2 group 1 A 2 B 3 B 4 B 5 B 6 C 7 C
  • Python从int到string的快速转换

    我正在用 python 求解大量阶乘 并发现当我完成计算阶乘时 需要相同的时间才能转换为字符串以保存到文件中 我试图找到一种将 int 转换为字符串的快速方法 我将举一个计算和 int 转换时间的例子 我正在使用通用的 a str a 但感
  • 根据共同值对两个数据帧求和

    我有一个看起来像的数据框 day of week count 1 0 3 2 3 1 3 4 1 4 5 1 5 6 3 另一个喜欢 day of week count 1 0 17 2 1 6 3 2 1 4 3 1 5 4 5 6 5
  • R:如何更改ggvis闪亮应用程序中特定范围的绘图背景颜色

    I have a simple shiny app like below and you can run it The plots are created by ggvis and user can choose student name
  • 如何根据查找表匹配多列

    我有以下两个数据框 lookup lt data frame id c A B C price c 1 2 3 results lt data frame price 1 c 2 2 1 price 2 c 3 1 1 我现在想要浏览所有列
  • 绘制带有颜色渐变的geom_segment线? (或者还有另一种方法来强调开始与结束吗?)

    我的数据框中有大量行 100 000 的两组纬度和经度变量 我正在尝试绘制一个连接这两组坐标的图 即 从纬度1 经度1 to 纬度2 经度2 使用 geom segment 使用非常低的 alpha 使线条透明 因为线条太多 我想强调这些线
  • R 在安装包依赖项时不考虑最大版本

    假设我正在开发一个名为magicr做一些统计魔术 我希望它使用另一个名为的包中的函数fairydust 假设 存在于 CRAN 上 很遗憾fairydust刚刚向 CRAN 发布了 2 0 0 版本 完全破坏了我计划使用的功能 所以我更新了
  • DT数据表中的列对齐

    In my shiny我正在使用的应用程序datatable函数来自DT库构建一个表格并希望将列居中对齐 我可以用formatStyle column textAlign center 但它只影响列体而不影响标题 我们必须设置columnD

随机推荐

  • jupyter 笔记本 ipywidgets 未显示(无错误)

    我最近设置了一个新的 Conda 环境并调出了以前的工作代码 但是 我发现Jupyter小部件似乎无法正常工作 我做了以下事情 conda install c conda forge ipywidgets jupyter nbextensi
  • 如何更改 NumericStepper 中的文本颜色

    我真的找不到一种方法来简单地更改 NumericStepper 的文本颜色 事件可能吗 请使用 setStyle 方法设置文本颜色 请阅读这篇文章 Link http livedocs adobe com flex 3 html help
  • 为什么异步函数优于同步函数?

    我是 NodeJS 新手 发现使用异步函数有点困难 我正在尝试找出这里的好处 以下是我对异步函数的理解 您能否验证我下面的每项理解 当要执行独立操作 来自主程序流 时 异步函数非常适合使用 当主程序非常需要来自异步函数的数据 响应或者当各个
  • SSIS - 动态创建三个日志文件

    da User Log path System PackageName SUBSTRING DT WSTR 29 GETDATE 1 10 LEN DT WSTR 2 DATEPART Hh GETDATE gt 1 DT WSTR 2 D
  • 更改 MenuBarExtra 图标的属性

    我正在尝试创建一个 MenuBarExtra 允许图标根据布尔值具有不同的颜色 就像是This https sarunw com posts swiftui menu bar app 但颜色发生变化 而不是图标内的数字 我在重新着色图标时遇
  • 关于 Immutable 类的防御性复制

    我有一个关于创建不可变类的疑问 以下是我考虑的几点 使班级最终 将所有成员设为最终成员 在静态块或构造函数中显式设置它们 将所有成员设为私有 没有修改状态的方法 要极其小心地限制对可变成员组件的访问 请记住 该字段可能是最终的 但对象仍然可
  • eclipse中的c ++调试模式导致程序不等待cin

    下面的代码在运行时工作正常 但是当使用 Eclipse 在调试模式下运行时会出现问题 它不会等待输入 而是继续运行 并将一些看似随机的值打印到控制台 它也不会在断点处停止 int main int N Q maxSize cout lt l
  • 将 Azure AD B2C 与 Azure 移动应用结合使用时,如何设置密码策略?

    在 Azure AD B2C 中 注册 登录 和 密码重置 有单独的策略 我复制 注册 登录 策略的元数据端点 并将其粘贴到 Azure 应用程序身份验证中 这基本上可以工作 但是没有地方可以放置包含密码重置模板的密码重置元数据 我认为因此
  • Spark 按不使用内存的数据集进行集群/存储桶

    我最近遇到了 Spark bucketby clusteredbyhere https jaceklaskowski gitbooks io mastering spark sql spark sql bucketing html 我尝试对
  • 如何每天验证一篇帖子?

    我正在尝试创建一个验证 以确保从 00 00 开始 24 小时每天发布一篇文章 请问如何在 Rails 中完成此操作 我执行了以下操作 但我不确定将其放在哪里today方法 更简单的替代方案非常受欢迎 def today where cre
  • 如何使用 python 的 kubernetes API 获取注释?

    我有一个 Docker 映像 其中包含一个 Python 应用程序 作为部署在 Kubernetes 中运行 我想向该应用程序传递一些数据 我使用了环境变量 但我想使用注释 但我不知道如何阅读它们 我看到了V1ObjectMeta有一个字段
  • Grails/Groovy 正则表达式 - 如何使用 (?i) 使所有内容不区分大小写?

    我使用以下正则表达式 url blank false matches https A Za z0 9 A Za z0 9 A Za z 2 40 1 9 0 9 0 4 S 我想添加 i 以使所有内容不区分大小写 我应该如何添加这个 我可以
  • 多个 windows::basic_handle 上的 WaitForMultipleObjects 和 boost::asio 有什么区别?

    我有一个 HANDLE 列表 由许多不同的 IO 设备控制 以下之间的 性能 差异是什么 对所有这些句柄上的 WaitForMultipleObjects 的调用 boost windows basic handle 上的 async re
  • Swift 简单异或加密

    我正在尝试在 Swift 中执行一个简单的异或加密例程 我知道这不是一个特别安全或很好的方法 但我只是需要它简单 我知道代码是如何在 Javascript 中实现的 只是在将其转换为 Swift 时遇到了麻烦 JavaScript func
  • Vagrant - 如何挂载 virtualbox 共享文件夹? (“vboxsf”不可用)

    我有以下错误 Vagrant 无法挂载 VirtualBox 共享文件夹 这通常是因为文件系统 vboxsf 不可用 这 文件系统可通过 VirtualBox Guest Additions 提供 内核模块 请验证这些来宾添加是否正确 安装
  • 创建快捷方式:如何将可绘制对象用作图标?

    下面是我的代码 用于创建所选应用程序的快捷方式 我确实没有任何问题 并且该应用程序运行得很好 问题是我可以使用应用程序中的资源创建快捷方式 intent putExtra Intent EXTRA SHORTCUT ICON RESOURC
  • 如何访问在 docker 容器中运行的 spring 应用程序?

    我有以下 docker 文件 FROM openjdk 11 jdk slim VOLUME tmp ARG JAR FILE COPY JAR FILE app jar ENTRYPOINT java Dexternal config a
  • 从一个分支中提取所有提交,将指定的提交推送到另一个分支

    我有以下分支机构 master production 以及以下远程分支 origin master origin production 我有一个脚本可以获取origin master分支并获取与我上次获取相比发生的变化的差异 log p m
  • 无法将 Base64 字符串转换为图像

    有人可以帮我转吗这个base64数据 https sharetext me w5wqjqqryy进入图像 我不知道是因为数据没有正确解码还是其他原因 这是我解码数据的方法 import base64 c data the data in t
  • 如何将数据框列转换为数字类型?

    如何将数据框列转换为数字类型 由于 仍然 没有人得到复选标记 我假设您考虑了一些实际问题 主要是因为您没有指定要转换为的向量类型numeric 我建议你应该申请transform功能以完成您的任务 现在我要演示某些 转换异常 create