首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

R语言数据框深度解析:从创建到数据操作,一文掌握核心技能

数据访问与操作 访问数据 数据框和向量不一样,向量是一维的,数据框既有行也有列,数据框是二维的,所以在使用方括号时,我们也要指定行和列,行和列之间用,隔开,,前面表示行,后面表示列。...df$Name # 获取“Name”列 df[1, 2] # 取第1行第2列的值 df[, 1:3] # 取所有行,以及第1列到第3列 df[c(1,3)] # 取所有行,以及第...) # 用均值填补 #### 删除缺失值df na.omit(df) # 删除包含缺失值的行 修改和重编码 df$Gender[df$Gender == "Male"] <- "男" #把Gender...拼接行:把行拼起来,也就是对多个数据框垂直堆叠,也就是在一个数据框的下方添加另一个数据框,要求列数相同。...下期内容 下一节我们学习R语言其他的数据结构

18010

线性回归和时间序列分析北京房价影响因素可视化案例|附代码数据

同样,一个简单的regexp进行省特征提取。 另一个大的数据准备工作是转换一些数字特征,比如地铁,地铁站附近的房子编码为1,相反的情况编码为0。 还有很大一部分DOM缺失。...我既不能在建模中使用这个特性,也不能删除NA,但它也会减小数据帧的大小。...事实上,它们只占了约30行,而整个数据集的数据量为300k+,因此损失不会太大。 下面我简单地删除了我以后不打算使用的特征。...ifelse(is.na(df$DOM),median(df$DOM,na.rm=T),df$DOM) ---- 点击标题查阅往期内容 01 02 03 04 用于将数字转换为类别的自定义函数...对于所有样本,我需要把分类特征变成伪变量。

72430
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    线性回归和时间序列分析北京房价影响因素可视化案例

    同样,一个简单的regexp进行省特征提取。 另一个大的数据准备工作是转换一些数字特征,比如地铁,地铁站附近的房子编码为1,相反的情况编码为0。 还有很大一部分DOM缺失。...我既不能在建模中使用这个特性,也不能删除NA,但它也会减小数据帧的大小。...事实上,它们只占了约30行,而整个数据集的数据量为300k+,因此损失不会太大。 下面我简单地删除了我以后不打算使用的特征。...NA的数量很少,因此我将再次丢弃这些行 df2$renovationCondition <- sapply(df2$renovationCondition, ionCondition) df2$buildingStructure...对于所有样本,我需要把分类特征变成伪变量。

    1.3K10

    Linux从入门到精通(十二)——shell编程

    常见的shell: Bourne Shell (简称sh) :由AT&T贝尔实验室的 Steven. Bourne开发。目前几乎所有的Linux系统 都支持它,将其作为应急Shell使用。...1,2...9:传递给脚本的某个参数,1 代表第1个参数, 例子和预定义变量一起; 3.3 预定义变量: 预定义变量是在Shell一开始时就定义了的变量,由符号$和另一个符号组成的,只能使用,不能修改...-n后跟一个数字,指定输入文本的长度,当输入的字符数目达到预定数目时,自动退出,并将输入的数据赋值给变量。...int2 当int1等于int2时,返回真 int1 -ge int2 当int1大于/等于int2时,返回真 int1 -le int2 当int1小于/等于int2时,返回真 int1 -gt int2...当intl大于int2时,返回真 int1 -lt int2 当intl小于int2时,返回真 int1 -ne int2 当int1不等于int2时,返回真 【例子】 [root@VM-24-17

    4.8K30

    数据分享|多变量多元多项式曲线回归线性模型分析母亲吸烟对新生婴儿体重影响可视化|附代码数据

    我们将专注于第二个判断: 从str()命令中注意到,所有的变量都被存储为整数。我将把缺失值转换为NAs,这是R中缺失值的正确表示。...sapply(babies, couna) 每当您在 R 中使用函数时,请记住,默认情况下它可能有也可能没有 na-action。...例如,该 mean() 函数没有,并且 NA 在将缺少值的参数传递给它时简单地返回: sapply(babies, mean) 您可以通过检查 mean() 函数帮助来纠正它,通过一个参数 na.rm...sapply(babies, mean, na.rm = TRUE) 另一方面, 默认情况下summary() 会删除 NAs,并输出找到的 NAs 数量,这使其成为汇总数据时的首选。...(model) 注意R的默认动作是删除信息缺失的行。

    76100

    缺失值处理,你真的会了吗?

    两个变量的无效相关范围从-1(如果一个变量出现,另一个肯定没有)到0(出现或不出现的变量对彼此没有影响)到1(如果一个变量出现,另一个肯定也是)。...变量集越单调,它们的总距离越接近0,并且它们的平均距离越接近零。 在0距离处的变量间能彼此预测对方,当一个变量填充时另一个总是空的或者总是填充的,或者都是空的。 树叶的高度显示预测错误的频率。...丢弃 占⽐较多,如80%以上时,删除缺失值所在的列如果某些行缺失值占比较多,或者缺失值所在字段是苛刻的必须有值的,删除行。...how : {'any', 'all'},default 'any' 确定是否从DataFrame中删除了行或列至少有一个NA或全部NA。* 'any':如果有任何NA值,删除行或列。...* 'all':如果所有的值都是NA,删除行或列。 axis : {0 or 'index', 1 or 'columns'}, default 0 确定包含缺失值的行或列是否为移除。

    1.6K30

    R语言入门系列之一

    向量可以通过“[]”来进行索引,方括号内为元素的位置,可以是大于1的整数或者向量,位置前加负号“-”则表示删除这个位置的元素,但是使用向量索引时只能全是正整数或者负整数,不能混杂,如下所示: R语言中判断符号有大于...=TRUE时,使用perl的正则表达式规则,当分隔符为?...当向量含有缺失值时,若是计算向量的均值、方差等,需要在函数内设置参数na.rm=TRUE来去除缺失值。对于函数的使用方法可以使用?function来查询。...=m, ncol=n) #使用向量生成m行n列的矩阵 matrix(NA, nrow=m, ncol=n) #生成一个m行n列的空矩阵 as.matrix(x) #将对象转换为矩阵 is.matrix(...x) #判断对象是否为矩阵 具体示例如下: 矩阵通过行、列id或者行列name对元素进行索引,也可以使用向量,id前加负号“-”则表示删除改行、列的元素,索引值也可以引入逻辑判断,如下所示: 注意,

    4.2K30

    R数据科学|5.4内容介绍及习题解答

    ,因为一个无效测量不代表所有测量都是无效的。...此外,如果数据质量不高,若对每个变量都采取这种做法,那么你最后可能会发现数据已经所剩无几! 2. 缺失值代替 最简单的做法就是使用mutate()函数创建一个新变量来代替原来的变量。...5.4 习题解答 该节的作业习题较少,就直接在内容后面附上了。 问题一 直方图如何处理缺失值?条形图如何处理缺失值?为什么会有这种区别? 解答 直方图:当计算每个箱中的观察数时,丢失的值被删除。...条形图:在geom_bar()函数中NA被视为单独一类的数据,此函数要求x是一个离散的(分类的)变量,缺失的值类似于另一个类别。...解答 该命令在计算平均值和总和之前从原数据中删除NA值。

    2.4K30

    【数据分析 R语言实战】学习笔记 第三章 数据预处理 (下)

    (salary)) [1] 4 另一个判断缺失值的函数是complete.cases(),它同样返回逻辑值向量,但值与is.na()的相反:缺失值为FALSE,正常数据为TRUE,利用它来选取无缺失数据的行非常方便...第1列第1行的“5”表示有5个样本是完整的,下面的“3”表示有3个样本缺少了salary这一变量的值,第1列最后一个数字“4”表示有4条记录在salary和price上都有缺失。...is.na(salary),] > dim(data2) [1] 8 3 对于有多个变量缺失的数据,如果想直接删除所有的缺失值,可以通过na.omit()函数来完成, > data3=na.omit(data...它与其他多重插补算法的本质区别是,它在进行插补时不必考虑被插补变量和协变量的联合分布,而是利用单个变量的条件分布逐一进行插补。...(rank ),它返回每个数字在整个向量中的秩,可以简单地理解为各个数字的大小顺序。

    2K20

    R语言第二章数据处理②选择行

    filter_all(),filter_if()和filter_at():过滤变量然后选择行。 这些函数复制所有变量或变量选择的逻辑标准。...sample_n():随机选择n行 sample_frac():随机选择一小部分行 top_n():选择变量排序的前n行 R语言常用的逻辑符号 <:少于 >:大于 等于 >=:大于或等于...例如,“a in%c(2,3)”表示a可能等于2或3。 is.na():是NA !is.na():不是NA。 value == 2 | 3:表示值等于2或3。...通过删除分组列“Species”,从my_data创建一个新的演示数据集: #去掉Species列 my_data2 % select(-Species) #选择所有属性大于...= c("yes", "yes", "no") ) #选择height属性是NA的行 friends_data %>% filter(is.na(height)) #选择height属性非NA的行

    2.8K22

    基本操作包的移动向量矩阵数组数据框列表因子NA字符串

    x 变量 ls()#查看已经定义的变量 ls.str()#查看已经定义的变量及详细信息(ls和str的组合) str(x)#列出x的详细信息 rm(x)#删除x rm(...y,z)#删除x和y rm (list=ls())#删除全部赋值 history()#列出代码记录 history(25)#列出最近的25条记录 save.image()#保存 二.换电脑后,包的移动...第1列 m[-1,2] m["R1","C1"] 4.4 矩阵的运算 m+1#矩阵m中每一个元素都加1 colSums(m)#每一列的总和 rowSums(m) colMeans(m) rowMeans...(m) 4.5 矩阵中的函数 diag(m)#取对角线上的数字(该函数要求矩阵行和列相同) t(m)#将行列转置 五.数组 5.1 创建数组 dim1 <- c("A1", "A2") dim2 <-...3列 subset(data, age >= 30, select = c(“name”, “age”)#在数据框data中选择age大于等于30的观测值,并只选择name和age两列 数据框的更改 transform

    18130

    R语言泰坦尼克号随机森林模型案例数据分析|附代码数据

    这就是集成模型的工作方式 让我们构建一个由三个简单决策树组成的非常小的集合来说明: 这些树中的每一个都根据不同的变量做出分类决策。...R的随机森林算法对我们的决策树没有一些限制。我们必须清理数据集中的缺失值。rpart它有一个很大的优点,它可以在遇到一个NA值时使用替代变量。在我们的数据集中,缺少很多年龄值。...如果我们的任何决策树按年龄分割,那么树将搜索另一个以与年龄相似的方式分割的变量,并使用它们代替。随机森林无法做到这一点,因此我们需要找到一种手动替换这些值的方法。...NA's 0.17 21.00 28.00 29.88 39.00 80.00 263 1309个中有263个值丢失了,这个数字高达20%!此子集是否缺少值。...$Age),]) 您可以继续检查摘要,所有这些NA值都消失了。

    76000

    R语言数据分析利器data.table包 —— 数据框结构处理精讲

    ,例如该部分包括分隔符,或者以"\n"结尾的一行,或者双引号它自己,如果FALSE,那么区域不会加上双引号,如果TRUE,就像写入CSV文件一样,除了数字,其它都加上双引号; sep,列之间的分隔符;...sep2,对于是list的一列,写出去时list成员间以sep2分隔,它们是处于一列之内,然后内部再用字符分开; eol,行分隔符,默认Windows是"\r\n",其它的是"\n"; na,na...=3] #x列不等于"b"或者y列不等于3的行 DT[.("b", 3), on=....with 默认是TRUE,列名能够当作变量使用,即x相当于DT$"x",当是FALSE时,列名仅仅作为字符串,可以用传统data.frame方法并且返回data.table,x[, cols, with...roll 当i中全部行匹配只有某一行不匹配时,填充该行空白,+Inf(或者TRUE)用上一行的值填充,-Inf用下一行的值填充,输入某数字时,表示能够填充的距离,near用最近的行填充 rollends

    5.9K20

    数据科学 IPython 笔记本 7.7 处理缺失数据

    NaN:缺失的数值数据 另一个缺失的数据表示,NaN(“非数字”的首字母缩写)是不同的;它是所有系统都识别的特殊浮点值,使用标准 IEEE 浮点表示: vals2 = np.array([1, np.nan..., 2, None]) ''' 0 1.0 1 NaN 2 2.0 3 NaN dtype: float64 ''' 对于没有可用标记值的类型,当存在 NA 值时,Pandas...默认情况下,dropna()将删除包含空值的所有行: df.dropna() 0 1 2 1 2.0 3.0 5 或者,你可以沿不同的轴删除 NA 值; axis = 1删除包含空值的所有列: df.dropna...(axis='columns') 2 0 2 1 5 2 6 但这也会丢掉一些好的数据; 你可能更愿意删除全部为 NA 值或大多数为 NA 值的行或列。...填充空值 有时比起删除 NA 值,你宁愿用有效值替换它们。这个值可能是单个数字,如零,或者可能是某种良好的替换或插值。

    4.1K20

    数据处理第3部分:选择行的基本和高级的方法

    只有在您可以使用完整变量内容时,上述选项才有效。...()函数: 示例代码将删除conservation为NA的所有行。...或者您只是过滤所有列的字符串“food”。 在下面的示例代码中,我在所有列中搜索字符串“Ca”。我想保留在任何变量中出现字符串“Ca”的行,所以我将条件包装在any_vars()中。...描述列都是字符列,而测量数据是数字。 所以使用filter_if()我可以指定我只想过滤字符变量。 在这种情况下,我只得到7行。...与上面的示例类似,如果所有列都需要返回TRUE(AND等效),则可以使用all_vars();如果只需要一个变量返回TRUE(OR等效),则可以使用any_vars()。

    1.3K10

    第二节(C语句储存信息,表达式和运算符)

    2.1在语句中留白: 空白指的是源代码中的空格、水平制表符、垂直制表符和空行。 C编译器会忽略所有的空白。当编译器阅读源代码中的语句时,它查找语句中的字符和末尾的分号,但是忽略空白。...a和b 第10行将两个变量都设置为0。...第9行和第10行定义了两个符号常量SECS_PER_MIN和SECS_PER_HORE。 第12行声明该程序中用到的所有变量。有些程序员喜欢每一行声明一个变量,而不是将它们都放在一行。...与上一个程序中使用另一个if语句包含不能被4整除的年份(即,不是闰年的年份) 该程序在第17行使用else子句包含了其他所有情况。...,当赋值运算符左侧的变量名特别长时,很能体现这种书写方式的优势。

    50310

    【基础】R语言2:数据结构

    数据类型数值型:用于直接计算加减乘除字符串型:可以进行连接,转换,提取等逻辑型:真或假日期型等R对象R语言中的变量可以赋值给变量的任何事物,包括常量、数据结构、函数甚至图形对象都拥有某种模式,描述此对象是如何储存的...44.在中间插入数据appended(x=v,values=99,after=5)1 2 3 4 5 99 6 NA 4# 删除数据1.删除整个向量rm(v)2.删除某个元素(正负整数索引)y的索引# 矩阵下标访问m[1,2]矩阵的计算#直接计算(矩阵之间行和列数要一致...x的不同值来求得 #labels:指定各水平的标签, 不指定时用各水平值的对应字符串 #exclude:指定要转换为缺失值(NA)的元素值集合 #ordered:取真值时表示因子水平是有次序的(按编码次序...)cut()函数连续取值的变量,可以用cut()函数将其分段, 转换成因子使用breaks()参数指定分点, 最小分点要小于数据的最小值, 最大分点要大于等于数据的最大值, 默认使用左开右闭区间分组cut

    10710

    SAS︱数据索引、数据集常用操作(set、where、merge、append)

    同时前面带了几个变量就是以这几个变量为唯一索引。有点注意的是,可以同时以“xy”两个变量作为索引变量。 4、索引的删除 有全部删除也有部分删除。...其中,sex='M'中的等于,也可以写成sex eq 'M',其中的eq代表等于(此外ne代表不等于) (4)set-in 临时变量 /*set-in-临时单个变量*/ /*可以说是SAS跟R最大的区别的一点就是...本段代码中,还有一个用if 来重新构造一个变量flag,当a=1时候flag为1,这样的形式就可以构造一个新的变量。...此外,注意还有output+stop代表单独输出为数据表,而stop的意思是停留在一个单元格,不然就会生成19*1的一列数值,里面都填充着数字19。...同时数据集(obs=10)也是切片的一种方式。 where x in(1,2); /*选择变量等于某值的情况*/ 选择变量服从某些特征的。

    7K20
    领券