我有一个数据帧,它具有唯一的行名和唯一的列名。我想将行转换为列,并将列转换为行。
例如,下面的代码:
starting_df <- data.frame(row.names= c(LETTERS[1:4]),
a = c(1:4),
b = seq(0.02,0.08,by=0.02),
c = c("Aaaa","Bbbb","Cccc","Dddd")
提前道歉我是R的初学者。我已经加载了一个CVS文件到一个新的数据框中-其中一列提供了一个类别号(从1到6).I想要创建一个循环来计算每个类别号出现的次数,然后将其存储在新的数据框中。(新的数据框将是类别编号以及它出现的次数)到目前为止,我已经创建了以下脚本,但是不确定如何将结果存储在新数据框中并包括类别编号。
Summarydf<-NULL
unique<-c(unique(Data$Type))
for (i in unique) {
Summarydf<-c(sum(Data$Type==i))
print(Summarydf)
}
我有一个数据框(a),其中有两列:total_amount和Gender。我需要计算一下男性和女性的消费总额。
在性别栏中,也有NA。在运行以下命令时
tapply(a$total_amount,a$Gender, sum)
结果是:
F M
23623513 24935632
我的问题是:默认情况下,tapply是否删除了为分类选择的片段列中的缺失值,即本例中的性别?如果是,那么我们如何将它们包含在我们的结果中?
我认为这是一个基本的R任务,但我遇到了麻烦。
下面是我的名为'b‘的示例数据帧
Winner Color Size
Tom Yellow Med
Jerry Yellow Lar
Jane Blue Med
其中,Winner列中的项目是系数。
我试图将数据框中的"Tom“更改为"Tom LLC”,但无法完成。
这是我尝试过的:
简单的方法:b$winner[b$winner=='Tom'] = as.factor('Tom LLC')
但失败的原因是“无效因子级别,NAs已生成”。
接下来,我尝试了一个更高级的路由:
name_rese
我想在R中对来自几个数据帧的同名不同长度的列进行一些统计分析。我创建了一个列表:
my.list <- list(df1, df2, df3, df4)
现在,由于感兴趣的列的一些元素(比如: my.col)包含单词"FAILED“而不是数字,因此我将其替换为”NA“:
for (i in 1:length(my.list)){
for (j in 1:length(my.list[[i]]$my.col)){
if (my.list[[i]]$my.col[j] %in% c("FAILED"))
{my.list[[i]]$
我有一个有两列的数据框。当我尝试计算mean时,我得到这样的消息:
[1] NA
Warning message:
In mean.default(results) : argument is not numeric or logical: returning NA`
其中“results”是我的数据集。对于解决这个问题有什么建议吗?
我有一个包含分类数据和NaN值的COLOR列的熊猫数据框-
ZIP YEAR COLOR
11111 1990 0
11111 1990 1
11111 1990 NaN
11111 1990 1
22222 2000 0
22222 2000 NaN
22222 2000 NaN
22222 2000 1
如何按ZIP和YEAR列(df.groupby(['ZIP', 'YEAR']))聚合
我正在制作一个应用程序,在这个应用程序中,我加载了一组256 x 256 box块的地图,并将它们与magick.net缝合在一起,然后将它们显示在一个图片框中。我在图片框控件上添加了一个功能,用于使用鼠标事件来旋转图像(并像我一样加载新的图片块),如下所示:
// Set true when mouse should slew the picture in the picture box
private bool isSlewing = false;
// last position of the mouse in map space when slewing
private float l
比如说,我有一个df
df <- data.table(user = c('a', 'a', 'b')
); df
user
a
a
b
我希望在user级别创建一个新的列,名为user:
user group_id
a 1
a 1
b 2
有没有一种快速/可伸缩的方法?我可以用一个join来完成这个任务(并且理解data.table使用join是快速的),但是我想知道是否有一个更简单、更快的方法。假设我有大约1e8行,并且该方法将应用于组中的多个列(
我正在使用下面的代码来绕过被零除的错误,仍然得到一个错误,不能弄清楚这里到底出了什么问题。
df.loc[:,'B to A Ratio'] =np.where(df.loc[:,'A']!=0,df.loc[:,'B']/df.loc[:,'A'],np.nan)
仅供参考,我正在对从数据透视表创建的数据框执行此操作。这里的“A”列和“B”列只是为了说明。