R dplyr 修改值-替换值

有这么个需求:我有许多列,我打算找到某一列等于某个值,同时另外一列中等于某个值,这样的多个条件筛选的行,并替换筛选出来的这些这些值,显然使用dplyr包是最好的选择,因为速度快的飞起,即使我的数据有几百万行

代码如下:

df.v %>% filter(to.x == 999, to.y==999) %>%
      select(cnt,min ,max ,v_0.1,v_0.5,v_1) %>%
      replace(values = -2)

这样就把符合条件(to.x == 999, to.y==999)的所有行都挑出来了,但是只select了目标列(cnt,min ,max ,v_0.1,v_0.5,v_1),这6列符合条件的值统一用replace函数替换为了-2值

df.v %>% filter(cnt == -1) %>%
      select(cnt,min ,max ,v_0.1,v_0.5,v_1)  * 0.9

上面的代码时筛选出符合条件的所有行,然后找到打算替换的部分列,直接数学运算,乘以固定数0.9,这样就对这些选择了的值直接计算完毕了。

原文地址:https://www.cnblogs.com/arcserver/p/12038068.html

时间: 2024-10-22 11:16:52

R dplyr 修改值-替换值的相关文章

反射获取成员变量,并修改值

/* * 反射获取成员变量,并修改值 * Person类中的成员String name */ public class ReflectDemo5 { public static void main(String[] args) throws Exception{ Class c = Class.forName("cn.itcast.demo1.Person"); Object obj = c.newInstance(); //获取成员变量 Class类的方法 getFields() c

cocos2d::CCFileUtils::sharedFileUtils()->getFileData(szFile, "r", &bufferSize) 不同平台返回值不一样

string pathKey = CCFileUtils::sharedFileUtils()->fullPathForFilename(fileName); unsigned char* pBuffer = NULL; unsigned long bufferSize = 0; pBuffer = CCFileUtils::sharedFileUtils()->getFileData(pathKey.c_str(), "rb", &bufferSize); 我在使

页面已修改值,但是后台获取还是修改之前的值

错误写法: 解决方法: 原理:点击一次就会POS请求一次,说以当点击时就先改变了值.

Java基础知识强化之IO流笔记69:Properties练习之 判断文件中是否有指定的键,如果有就修改值的案例

1. 我有一个文本文件(user.txt),我知道数据是键值对形式的,但是不知道内容是什么. 请写一个程序判断是否有"lisi"这样的键存在,如果有就改变其值为"100"  分析:  A:把文件中的数据加载到集合中  B:遍历集合,获取得到每一个键  C:判断键是否有为"lisi"的,如果有就修改其值为"100"  D:把集合中的数据重新存储到文件中 2. 代码实现: 1 package cn.itcast_08; 2 3 i

HDU - 1698 Just a Hook(线段树区间整体修改值,查询区间和)

In the game of DotA, Pudge’s meat hook is actually the most horrible thing for most of the heroes. The hook is made up of several consecutive metallic sticks which are of the same length. Now Pudge wants to do some operations on the hook. Let us numb

C#通过对象属性名修改值

摘自:csdn 给一个对象属性赋值可以通过PropertyInfo.SetValue()方式进行赋值,但要注意值的类型要与属性保持一致. 创建对象实例的两种方法: 1. var obj = Assembly.Load("AssemblyName").CreateInstance("AssemblyName"+"ClassFullName"); 2. var obj = Activator.CreateInstance(ClassType); 创建

Map HashMap 排序 迭代循环 修改值

HashMap dgzhMap = Dict.getDict("dgzh"); Iterator it_d = dgzhMap.entrySet().iterator(); while (it_d.hasNext()) { Map.Entry entry_d = (Map.Entry) it_d.next(); Object key = entry_d.getKey(); Object value = entry_d.getValue(); value = value.toString

listview点击checkbox,修改值

1.初始化控件 listView1.Items.Clear();            listView1.Columns.Clear();            ColumnHeader ch = new ColumnHeader();            ch.Width = 100;            ch.Text = "终端";            listView1.Columns.Add(ch); ColumnHeader ch2 = new ColumnHead

input type=file为什么不能通过js来修改值的出处

给客户解释,为什么不能通过javascript来修改input type=file这个控件的值. 最终从微软的msdn上找到了. https://msdn.microsoft.com/zh-cn/hh466236 input type=fileThe value, a file name, typed by the user into the control. Unlike other controls, this value is read-only.