为什么90%的数据分析师都忽略了separate_rows的这个参数?

R语言数据导入全链路指南:从CSV到SPSS的底层原理与避坑实战 数据导入是数据分析流程的起点,也是R语言工程化落地的第一道关卡。其本质涉及I/O引擎性能、文本解析逻辑与内存容器选型三层技术栈。不同于Python的pandas统一接口,R生态中readr、data.table、haven、vroom等包各司其职,分别针对CSV编码容错、大文件并行读取、统计软件元数据兼容、列式内存映射等场景提供专业化能力。掌握locale编码控制、col_types显式类型声明、fread多线程调优及tibble与data.table容器差异,可显著提升数据加载稳定性与执行效率。本文聚焦R 阅读详情

第一章:separate_rows函数的核心作用与应用场景

在数据处理过程中,经常会遇到某一列中包含多个值且以分隔符(如逗号、分号)连接的情况。`separate_rows` 函数的核心作用是将这些被分隔的多值字段拆分为独立的行,从而实现数据的规范化和扁平化,便于后续分析。

功能概述

  • 将指定列中的复合值按分隔符展开为多行
  • 保持其余列的数据一致性,确保每一新行都继承原始记录的上下文信息
  • 适用于文本标签、多选答案、路径解析等多种场景

典型使用场景

场景说明
用户兴趣标签分析单个用户拥有多个兴趣标签,需拆分为独立记录进行统计
调查问卷多选题处理受访者选择多个选项时,需逐项分析选项分布
文件路径解析路径字符串按层级拆分,用于构建目录结构树
代码示例

# 加载tidyr包
library(tidyr)

# 示例数据:用户及其喜欢的编程语言
data <- data.frame(
  user = c("Alice", "Bob"),
  languages = c("R,Python,JavaScript", "Python,Java")
)

# 使用separate_rows拆分行
result <- separate_rows(data, languages, sep = ",")

# 输出结果
print(result)
上述代码执行后,每种编程语言都会成为单独的一行,同时保留对应的用户名。这使得后续可以轻松地进行语言流行度统计或用户分组分析。
graph TD A[原始数据] --> B{是否存在多值字段?} B -->|是| C[应用separate_rows] B -->|否| D[直接分析] C --> E[生成标准化单值行] E --> F[进入下游分析流程]

第二章:separate_rows基础参数深度解析

2.1 sep参数的默认行为与分隔符选择

在Python的`print()`函数中,`sep`参数用于指定多个输出对象之间的分隔符。其默认值为一个空格 `' '`,即当传入多个参数时,系统自动以空格分隔。
默认分隔行为示例
print("apple", "banana", "cherry")
上述代码输出结果为:`apple banana cherry`。`sep=' '` 在此生效,每个字符串间以单个空格连接。
常见分隔符对比
分隔符代码示例输出结果
逗号print(a, b, sep=",")apple,banana
制表符print(a, b, sep="\t")apple banana
无分隔print(a, b, sep="")applebanana
合理选择`sep`值可提升输出格式的可读性与结构化程度,尤其在生成CSV或日志记录时尤为重要。

2.2 如何处理空值与缺失数据的拆分

在数据预处理阶段,空值和缺失数据的拆分是确保模型训练质量的关键步骤。直接删除含有空值的记录可能导致信息丢失,而盲目填充则可能引入偏差。
识别缺失模式
首先应分析缺失值的分布特征,判断其是否随机缺失(MAR)、完全随机缺失(MCAR)或非随机缺失(MNAR)。可通过以下代码统计各字段缺失率:

import pandas as pd

def missing_summary(df):
    missing = df.isnull().sum()
    percent = (missing / len(df)) * 100
    return pd.DataFrame({'missing_count': missing, 'missing_percent': percent})

summary = missing_summary(data)
该函数输出每列的缺失数量与占比,便于后续决策。
拆分策略选择
根据业务场景选择不同策略:
  • 按阈值拆分:缺失率高于30%的字段单独归为一类,考虑剔除或专家标注
  • 按类型拆分:数值型采用均值/中位数填充,类别型使用众数或“未知”类别
策略适用场景优点
删除法缺失极少简单高效
填充法关键字段保留样本

2.3 convert参数的作用与数据类型自动转换实践

在配置同步过程中,`convert` 参数用于定义字段级的数据类型转换规则,支持将源端数据自动映射为目标端兼容类型,从而避免因类型不匹配导致的写入失败。
常见转换场景
  • string → int:当源数据为数字字符串时自动转为整型
  • float → string:精度敏感字段转为字符串存储
  • timestamp → datetime:时间格式标准化
代码示例

{
  "convert": {
    "age": "int",
    "score": "float",
    "birth_date": "datetime"
  }
}
上述配置会将源数据中的 age 字段强制转换为整型,score 转为浮点型,birth_date 按照 ISO 时间格式解析并标准化。

2.4 fill参数控制缺失字段填充策略

在数据处理流程中,缺失字段的处理至关重要。fill参数提供了灵活的填充策略,确保数据完整性与一致性。
支持的填充方式
  • zero:用0填充数值型缺失值
  • prev:使用前一个有效值进行填充
  • next:使用后一个有效值填充
  • mean:以字段均值填充
配置示例
{
  "fill": {
    "strategy": "prev",
    "fields": ["temperature", "humidity"]
  }
}
上述配置表示对temperature和humidity字段采用“向前填充”策略,适用于时间序列数据中短暂的数据丢失场景,能有效保持趋势连续性。

2.5 unescape参数对转义字符的处理机制

在数据解析过程中,`unescape` 参数用于控制是否将字符串中的转义字符还原为原始字符。当 `unescape=true` 时,系统会自动处理如 `\n`、`\t`、`\\` 等常见转义序列。
典型转义字符映射表
转义序列原始字符
\n换行符
\t制表符
\\\
代码示例与分析
// 示例:启用 unescape 处理
func parseString(input string, unescape bool) string {
    if unescape {
        decoded, _ := url.QueryUnescape(input)
        return decoded // 将 %20 转为空格等
    }
    return input
}
该函数在 `unescape=true` 时调用 `url.QueryUnescape`,将 URL 编码字符还原。例如,%20 被转换为空格,+ 变为空格(在表单中),提升数据可读性与一致性。

第三章:被忽视的关键参数剖析

3.1 convert参数为何常被忽略及其潜在影响

在配置数据迁移任务时,convert 参数常被开发者忽视,导致源与目标系统间的数据类型不一致。该参数用于指定是否对字段进行类型转换,尤其在异构数据库同步中至关重要。
常见误用场景
  • 未启用convert=true,导致字符串无法转为数值
  • 忽略字符集转换,引发乱码问题
  • 默认跳过转换逻辑,造成精度丢失
代码示例与分析
{
  "source_type": "string",
  "target_type": "int",
  "convert": false
}
当 convert 为 false 时,即使源字段为可解析数字的字符串(如 "123"),也会因类型不匹配而写入失败或被置空,直接影响数据完整性。
潜在风险对比表
场景convert=trueconvert=false
字符串转整数成功转换写入失败
浮点精度处理按规则截断原始值丢弃

3.2 unescape参数在真实数据中的实际应用案例

在处理跨系统数据交互时,URL编码字符串常包含被转义的特殊字符。`unescape`参数在此类场景中发挥关键作用,用于还原原始语义数据。
日志分析中的路径还原
Web服务器日志常记录编码后的请求路径,如:/article%3Fid%3D123。使用`unescape`可将其还原为/article?id=123,便于后续分析。

const encodedPath = "/article%3Fid%3D123";
const decodedPath = decodeURIComponent(encodedPath);
console.log(decodedPath); // 输出: /article?id=123
上述代码利用JavaScript内置函数`decodeURIComponent`实现解码。该函数准确识别%3F(即?)与%3D(即=),恢复查询参数结构,是`unescape`逻辑的典型实现。
API网关参数预处理
微服务架构中,API网关需在路由前对请求路径进行规范化处理,确保下游服务接收到一致的输入格式。

3.3 fill参数与数据完整性之间的权衡分析

在时间序列数据库中,`fill`参数用于处理缺失数据点的插值策略,直接影响查询结果的完整性和准确性。
常见fill策略类型
  • none:保留空值,确保数据原始性但可能导致应用层解析异常
  • previous:使用前一个有效值填充,适合连续性要求高的场景
  • linear:线性插值,提升平滑度但引入计算偏差
  • value(x):固定值填充,简化逻辑但可能扭曲统计结果
代码示例与参数影响
SELECT mean("usage") FROM cpu 
WHERE time > now() - 1h 
GROUP BY time(10m) fill(previous)
该查询按10分钟聚合CPU使用率,`fill(previous)`确保每个时间桶均有值。若原始数据存在采集延迟或节点宕机,则填充行为虽保障输出连续性,但也掩盖了真实的数据中断问题,对监控告警系统构成潜在风险。
权衡建议
场景推荐策略理由
实时监控previous避免断图,维持可视化连贯
计费系统none防止误计费,保证审计准确

第四章:典型使用场景与避坑指南

4.1 多值字段拆分为行的常见数据清洗任务

在数据清洗过程中,多值字段(如CSV字符串)常出现在单个单元格中,影响后续分析准确性。将这些字段拆分为独立行是关键步骤之一。
典型应用场景
例如用户标签字段存储为“会员,学生,活跃用户”,需将其展开为多行记录,每行保留原始用户信息并对应一个标签。
使用Pandas实现拆分
import pandas as pd

df = pd.DataFrame({
    'user_id': [1, 2],
    'tags': ['会员,学生', '活跃用户,会员']
})

# 拆分并重塑
df_expanded = df.assign(tags=df['tags'].str.split(',')).explode('tags')
上述代码通过 str.split 将字符串转为列表,再利用 explode 方法将每个元素扩展为独立行,确保每条记录仅含单一标签值,便于后续分类统计与建模分析。

4.2 结合dplyr管道操作实现高效数据重塑

在R语言中,`dplyr`包通过管道操作符 `%>%` 实现了数据处理流程的链式调用,极大提升了代码可读性与执行效率。结合`tidyr`中的`pivot_longer()`和`pivot_wider()`函数,可实现复杂的数据重塑任务。
管道驱动的数据转换
利用管道操作,多个数据处理步骤可自然串联:

library(dplyr)
library(tidyr)

data %>%
  filter(value > 100) %>%
  pivot_longer(cols = starts_with("Q"), names_to = "quarter", values_to = "sales") %>%
  group_by(category) %>%
  summarise(total = sum(sales), .groups = 'drop')
上述代码首先筛选有效记录,将季度列(如Q1至Q4)转换为长格式,再按类别聚合销售总额。`starts_with("Q")`指定待转换列,`names_to`定义新列名变量,`values_to`设定值字段名称。
性能优势与代码清晰性
  • 管道避免中间变量生成,减少内存占用
  • 逻辑顺序与阅读顺序一致,增强可维护性
  • 与`group_by() %>% summarise()`配合,支持分组重塑

4.3 避免因参数设置不当导致的数据重复问题

在数据同步或消息处理系统中,不合理的参数配置常引发数据重复写入。例如,消费者拉取超时时间过短,可能导致消息未及时确认即被重新投递。
合理设置消费超时时间
consumer.Consume(&config{
    MaxWaitTime:  30 * time.Second, // 等待最大处理时间
    AckTimeout:   15 * time.Second, // 确认超时阈值
    RetryEnabled: true,
})
若 AckTimeout 设置过短,处理尚未完成即触发重试,造成重复消费。建议根据业务处理耗时的P99设定该值。
幂等性保障机制
  • 使用唯一业务ID作为数据库主键或唯一索引
  • 引入分布式锁控制关键操作执行
  • 通过状态机校验操作合法性,防止重复提交

4.4 处理特殊字符与嵌套分隔符的实战技巧

在解析复杂文本数据时,特殊字符与嵌套分隔符常导致解析错误。需采用精细化策略以确保数据完整性。
常见问题场景
  • 字段内包含逗号、引号或换行符
  • JSON 字符串嵌套在 CSV 字段中
  • 多层引号包裹导致解析器误判边界
解决方案示例
func parseQuotedField(input string) (string, error) {
    reader := strings.NewReader(input)
    csvReader := csv.NewReader(reader)
    csvReader.LazyQuotes = true // 允许非标准引号
    record, err := csvReader.Read()
    return record[0], err
}
该函数使用 Go 的 encoding/csv 包,启用 LazyQuotes 模式以处理不规范的引号嵌套。参数说明:输入为带引号的字符串,输出为清理后的字段值。
推荐处理流程
原始数据 → 预扫描特殊字符 → 启用宽松解析模式 → 校验结构完整性 → 输出标准化字段

第五章:总结与最佳实践建议

构建高可用系统的容错设计
在分布式系统中,网络分区和节点故障不可避免。采用超时重试、熔断器模式和降级策略可显著提升服务韧性。例如,使用 Go 实现带指数退避的重试逻辑:

func retryWithBackoff(operation func() error, maxRetries int) error {
    for i := 0; i < maxRetries; i++ {
        if err := operation(); err == nil {
            return nil
        }
        time.Sleep(time.Duration(1<
性能监控与指标采集
生产环境应部署 Prometheus + Grafana 监控栈,采集关键指标如请求延迟、QPS 和错误率。以下为常见监控维度:
  • API 响应时间 P99 控制在 300ms 以内
  • 服务 CPU 使用率持续高于 70% 需告警
  • 数据库连接池等待队列长度超过 5 触发扩容
  • GC Pause 时间超过 50ms 影响用户体验
安全配置基线
项目推荐值说明
HTTPS强制启用使用 TLS 1.3,禁用弱密码套件
JWT 过期时间15 分钟结合刷新令牌机制保障安全
日志敏感字段脱敏处理如身份证、手机号需掩码
CI/CD 流水线优化
[代码提交] → 单元测试 → 镜像构建 → 安全扫描 → 预发布部署 → 自动化回归 → 生产灰度
流水线中集成 SonarQube 和 Trivy 可提前拦截漏洞,减少线上风险。
AID智能抄表子卡原理图PDF 立即下载

相关推荐

【AI方案集】AI与人机协作相结合的智能法律咨询系统.docx

AI技术方案以算力、算法、数据三角协同为核心,通过搭建标准化的数据预处理、模型训练与边缘云端协同部署流程,将计算机视觉、自然语言处理、机器学习等核心能力深度融入业务场景,既实现自动化流程降本提效,又通过精准的模式识别与预测分析为管理层提供数据驱动的决策支撑,最终完成从通用AI技术到行业定制化场景的适配落地,为企业数字化转型提供可落地的技术路径。

为什么90%的数据分析师都忽略了separate_rows的关键参数?

掌握tidyr的separate_rows拆分行技巧,轻松解决多值合并字段的清洗难题。适用于问卷多选题、标签列表等场景,按分隔符智能拆分,保持数据关联性。高效规范数据结构,提升分析准确性,值得收藏。

StepLens的博客 992

picture again

picture again

R语言管道操作符%>%:从嵌套函数到数据流思维的跃迁

管道操作符(%>%)是R语言中实现函数式数据处理的核心机制,其本质是将前序表达式结果自动作为下一函数的首参,从而重构传统嵌套调用的执行顺序与认知路径。它依托dplyr等tidyverse包的‘数据框优先’参数约定,显著降低初学者的认知负荷,并支撑链式调用、可读性重构与工程化协作。技术价值体现在调试友好性、逻辑可追溯性及生态协同能力——无缝衔接ggplot2可视化、purrr批量处理与lubridate时间解析。典型应用场景包括电商分析流水线、多源数据清洗整合与统计建模预处理。本文聚焦%>%底层原理、点号(.

weixin_33906657的博客 583

计算机二级通关宝典1计算机二级通关宝典

计算机二级通关宝典1计算机二级通关宝典

AI聚合api网关系统源码+部署教程

AI聚合api网关系统源码+部署教程

三电平维也纳VIENNA双闭环控制整流器仿真(Simulink仿真实现)

内容概要:本文档系统介绍了“三电平维也纳VIENNA双闭环控制整流器”的Simulink仿真资源,重点涵盖电压电流双闭环控制、中点电位平衡控制及SVPWM调制等核心技术,服务于高精度电力电子系统的建模与优化。资源包不仅包含三相维也纳整流器、双有源桥DAB变换器、LLC谐振变换器等多种典型拓扑的仿真模型,还整合了Mathcad计算书、参考文献、MATLAB代码及设计报告等配套材料,突出科研复现与工程设计双重价值。特别针对控制策略优化、软开关技术实现、最小应力控制等前沿方向提供顶级EI期刊级别的复现案例,强化理论深度与实践指导意义。; 适合人群:面向具备电力电子、自动控制或电气工程等相关专业背景的研究生、科研人员及从事新能源、电力变换系统开发的工程技术人员,尤其适合正在进行高性能整流器与DC-DC变换器研究的专业人士。; 使用场景及目标:①支持高校与科研机构在三电平整流器、功率因数校正(PFC)、DC-DC变换器等领域开展控制系统建模与算法验证;②助力高质量学术论文复现(如EI/SCI期刊)、硕士/博士课题研究、毕业设计及企业级项目开发;③深入掌握SVPWM调制、双闭环动态调节、中点电位平衡控制等关键电力电子控制技术的实现机制与参数整定方法。; 阅读建议:建议结合提供的完整资源目录循序渐进地学习,优先研读控制框图与数学建模部分,理解控制逻辑与参数设计原理后,再通过Simulink平台进行仿真实验与参数调试,注重理论推导与仿真结果的对比分析,全面提升科研创新能力与工程实践能力。

MobaXterm终端工具个人学习版安装包及常用配置备份

资源包含 MobaXterm 个人版的安装包以及日常运维常用的基础配置备份文件。适用于网络工程师及运维人员用于日常的服务器管理、SSH 连接及串口调试。 压缩包内附带了个人整理的软件使用技巧与配置说明(仅供个人学习参考)。请各位同行下载后注意,技术工具请尽量支持官方正版,本资源仅供个人测试与交流使用,切勿用于商业环境。

jp-host-release.apk

jp-host-release.apk

机械臂的「抽风」自救指南:从万向节死锁到毫米级丝滑抓取

机械臂的「抽风」自救指南:从万向节死锁到毫米级丝滑抓取

科技中介服务机构如何借助平台提升技术撮合服务的专业性与响应速度?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

储能双向Buck-Boost+模型预测电流控制+电压下垂控制仿真【附参考文献】(Simulink仿真实现)

内容概要:本文详细介绍了基于Simulink平台构建的储能双向Buck-Boost变换器仿真模型,重点实现了模型预测电流控制(MPC)与电压下垂控制相结合的先进控制策略。该系统通过精确预测电感电流与动态调节母线电压,有效提升了储能系统在充放电切换过程中的动态响应速度、运行稳定性与抗扰动能力。模型充分考虑了实际应用场景中的非理想因素,结合参考文献进行了算法优化与参数设计,增强了方案的技术可行性与工程实用价值,适用于微电网、分布式能源系统及多储能单元并联运行的能量协调管理。; 适合人群:电气工程、自动化、新能源技术及相关领域的科研人员、研究生以及从事电力电子变换器与智能电网控制系统研发的工程师。; 使用场景及目标:①深入研究双向DC-DC变换器在储能系统中的高性能控制方法;②掌握模型预测控制与下垂控制的协同设计原理及其在复杂工况下的动态调节机制;③为微电网能量管理、多源协同控制、电压频率支撑等关键技术提供可靠的仿真验证平台。; 阅读建议:建议结合提供的Simulink模型与参考文献进行系统学习,重点关注控制器结构设计、预测模型建立及控制参数整定过程,可通过调整负载突变、设定不同工作模式等方式开展仿真实验,深入理解控制策略的鲁棒性与适应性表现。

产业园区如何利用AI技术提升科技成果转化服务的响应速度与转化成功率?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

【用于无人机控制的深度强化学习】使用深度确定性策略梯度通过连续状态空间中的过渡来控制倾转旋翼无人机(Matlab代码实现)

内容概要:本文围绕Plecs全桥LLC谐振变换器的仿真模型展开,重点介绍了基于Plecs或Simulink平台构建的全桥LLC谐振变换器的建模方法与仿真分析过程。内容涵盖LLC谐振变换器的工作原理、关键参数设计、PFM(脉冲频率调制)控制策略的实现,以及谐振腔的精确建模与仿真验证。通过该仿真模型,可深入分析变换器在不同负载条件下的效率表现、软开关实现情况、电压增益特性及动态响应性能,适用于高频高效电源系统的设计与优化。文档还配套提供了完整的仿真模型、设计报告与计算书等参考资料,有助于读者系统掌握LLC变换器的设计流程与工程应用要点。; 适合人群:具备电力电子与电源变换基础知识,从事高频开关电源、DC-DC变换器设计等相关领域的研究生、科研人员及工程技术人员。; 使用场景及目标:①用于高校科研中LLC谐振变换器的建模与先进控制策略研究;②指导企业研发人员完成高效率电源产品的仿真验证与优化设计;③作为电力电子技术课程的教学案例,帮助学生理解谐振变换器的动态特性、软开关机理与系统级仿真方法。; 阅读建议:建议读者结合所提供的仿真模型与设计文档,逐步搭建并调试全桥LLC变换器系统,重点关注谐振参数的匹配原则、PFM控制逻辑的实现细节以及软开关的实现条件,并通过对比不同工况下的仿真结果,深入分析控制策略对系统效率与动态性能的影响,以实现理论学习与工程实践的深度融合。

11232131231231是的

11232131231231是的

基于双向Buck-Boost电路的锂电池储能充电+放电控制Simulink仿真

内容概要:本文档详细介绍了一种基于双向Buck-Boost电路的锂电池储能系统充放电控制的Simulink仿真模型,重点实现了充电与放电过程中双向能量流动的精确控制。通过Simulink平台构建完整的电路拓扑与控制系统,采用电压、电流双闭环控制策略,有效提升了系统的稳定性与能量转换效率。文档不仅提供了详细的仿真建模方法,还结合参考文献增强了理论支撑,具有较高的科研与工程应用价值。此外,文中列举了大量电力电子领域的相关仿真资源,涵盖LLC谐振变换器、PFC电路、PWM整流器、状态估计等多种技术方向,形成了一个综合性强、覆盖面广的技术资料库,便于研究人员拓展学习和复用设计。; 适合人群:电气工程、自动化、新能源等相关专业的研究生、科研人员及从事电力电子系统设计的工程师。; 使用场景及目标:①研究锂电池储能系统的双向能量管理与高效充放电控制策略;②掌握基于Simulink的电力电子系统建模与闭环控制器设计方法;③为科研项目、毕业设计或工程开发提供可复现的仿真案例与技术支持。; 阅读建议:建议结合文档中提供的参考文献与外部资源链接,系统性地学习Buck-Boost电路的工作原理与控制理论,优先理解基础拓扑运行机制后再深入双闭环控制策略的设计与参数整定,同时可参照同系列其他仿真案例进行对比分析与拓展实践。

ICD10达梦sql语句

ICD10达梦sql语句

【Trans论文复现】基于Agent的电力市场深度决策梯度(深度强化学习)算法建模研究(Python代码实现)

内容概要:本文详细介绍了“Plecs全桥LLC谐振变换器仿真模型”这一技术资源,聚焦于利用PLECS仿真工具对隔离型全桥LLC谐振变换器进行建模、参数设计与性能分析。该资源系统阐述了LLC谐振变换器的工作原理,涵盖谐振参数设计、软开关实现机制、效率优化等关键技术环节,并配套提供了完整的仿真模型、设计报告与计算书,便于用户深入理解其在高效率、软开关功率转换中的优势与应用。研究内容不仅支持理论学习,还可用于控制策略的验证与优化设计,具有较强的工程实践价值。; 适合人群:具备电力电子技术基础知识,从事开关电源、高频功率变换器研发及相关领域研究的工程技术人员与高校研究生。; 使用场景及目标:①用于全桥LLC谐振变换器的教学演示与原理学习;②支持科研人员开展高效DC-DC变换器的建模、仿真与优化设计;③为掌握PLECS在电力电子系统仿真中的高级应用提供详实案例。; 阅读建议:建议结合PLECS仿真软件进行实际操作,通过运行仿真模型并对照设计文档,深入理解电路各模块功能、参数设置依据及软开关实现条件,重点关注谐振腔参数对系统效率与动态响应的影响,以全面提升对LLC变换器工作特性的认知水平与工程设计能力。

上一篇: 【数据可视化高手必修课】:彻底搞懂ggplot2中size参数的取值逻辑与缩放技巧
下一篇: 还在手动调整图表方向?,掌握coord_flip让你的ggplot效率提升10倍
LiteCode
博客等级 码龄1年 146粉丝 2019原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值