我有以下格式的数据:
df.original <-data.frame(hhid = c(1001, 1001, 1001, 1002, 1002, 1003, 1004), item = c("candybar","toycar","chair","candybar", "chair", "candybar", "sled"), number= c(2, 1, 4, 3, 1, 3, 2))
我想用以下方式按hhid列出每个项目的金额:
df.desired <- data.frame(hhid = c(1001,1002,1003,1004), candybar=c(2,3,3,0), toycar=c(1,0,0,0), chair=c(4,1,0,0), sled=c(0,0,0,2))
我可以得到虚拟变量(基于我之前在这里遇到的一个类似但没有金额的问题),但是该方法中使用的table函数只是计算两列的重复。作为参考,我正在谈论的问题(并在不同的集合中使用)在这里:从重复的hhid列表中制作单个hhid虚拟变量的函数(带有示例数据代码)
如果可能的话,我更喜欢避免tidyverse,使用基本函数。我必须在异地linux服务器上运行它,由于防火墙的原因,安装管理员尚未安装的包很困难(如果这是唯一的方法,也有可能,只是有点麻烦)。
您可以使用table
函数。
x = table(df.original)
x1 = (x[,,number=1])
x2 = (x[,,number=2])
x2[(x2 == 1)] = 2
x3 = (x[,,number=3])
x3[(x3 == 1)] = 3
x4 = (x[,,number=4])
x4[(x4 == 1)] = 4
x1+x2+x3+x4
不是最好的答案,但希望它能帮助你!
最好的
您要寻找的是将< code>df从长格式转换为宽格式。R base具有< code>reshape。然而,对于该值不存在的情况,这不会给你一个< code>0。它应该是并且将会是< code>NA。您可以很容易地用一行额外的代码替换< code>NA。
df.desired <- reshape(df.original, idvar = "hhid", timevar = "item", direction = "wide")
df.desired[is.na(df.desired)] <- 0
这个问题很简单,但经过长时间的谷歌搜索,我还没有找到一个好答案。 我有2种构建类型:调试、发布 我有两种口味:口味1,口味2 这将创建4个变量。 调试风格1 释放风味1 调试风格2 释放风味2 我有4个谷歌地图键,这些键将在4个Android动漫文件中定义,每个变体一个。 我知道我可以在src上创建“调试”,“发布”,“风味1”和“风味2”文件夹,其中包含每种构建类型或每种风格的AndroidMa
使用Visual Studio代码中的原子过程或扩展(而不是多行光标) 变成这样 ?
我试图创建一个Singleton类,我想创建一个UIImage的实例。 目标C 我们可以在中简单地声明一个属性。h喜欢 并在. m中定义一个share dSingleton方法 从任何一个有 我正在寻找从过去2小时,但没有找到蚂蚁适合的教程来创建这个。请帮我创建一个单例类在swft,并告诉我如何调用实例变量。
Per-cpu 变量是一项内核特性。从它的名字你就可以理解这项特性的意义了。我们可以创建一个变量,然后每个 CPU 上都会有一个此变量的拷贝。本节我们来看下这个特性,并试着去理解它是如何实现以及工作的。 内核提供了一个创建 per-cpu 变量的 API - DEFINE_PER_CPU 宏: #define DEFINE_PER_CPU(type, name) \ DEFINE_
到目前为止,这是我的代码,我很难定义字符串和UInt32从列表数组中选择的每个循环。谁能告诉我如何克服这个问题?
问题内容: 当天最后一个新手熊猫问题:如何为单个系列生成一张桌子? 例如: 大量的搜索使我进入了Series.describe()和pandas.crosstabs,但是这些都不满足我的需要:一个变量,按类别计数。哦,如果它适用于不同的数据类型(字符串,整数等),那就太好了。 问题答案: 也许吧?