我有一个数据集,看起来像:
id | X | Y
1 | 5 | a
1 | 6 | a
1 | 9 | a
2 | 2 | f
2 | 6 | f
列Y是组id中相同的字符串或因子。在data.table中,我试图按组进行聚合,并得出一些统计数据,例如,X的平均值( id )。我也想得到Y。最终的结果是
id | X | Y
1 | 6.66 | a
2 | 4 | f
如果没有因子/字符串变量,我在data.table中这样做的方式是dt[,.(X = mean(X)), by = .(id)]。如果Y是一个组内相同的数值变量,我也可以使用max, min, me
我想将一个变量(将列名作为字符串保存)作为参数传递给data.table。我该怎么做呢?
考虑下面的data.table:
myvariable <- "a"
myvariable_2 <- "b"
DT = data.table(ID = c("b","b","b","a","a","c"), a = 1:6, b = 7:12, c = 13:18)
DT
# ID a b c
# 1: b 1 7 13
# 2: b 2 8 14
我想根据与其他列中的值相关的标准从数据框架中的列中提取项。这些条件是以将列名与值相关联的列表形式给出的。最终目标是使用这些项在另一个数据结构中按名称选择列。
下面是一个数据框架示例:
> experimental_plan
lib genotype treatment replicate
1 A WT normal 1
2 B WT hot 1
3 C mut normal 1
4 D mut hot 1
5 E
因此,我有这个数据框架,在R中,我想通过info <- table(df$ForPlot)绘制一个列的条件。但是首先,我需要将相应的行变量与该列合并,如果我想要绘制的列的该行有文本(其中一些行有两个项,一些行有一个,而其他行没有)。因此,举个例子:
ID Name ForPlot
1 cool
2 nice ready soft
3 fast
4 slow party
5 good low
6 bad
7 true yo fit
8 false
我想使用ifelse复制我的数据。
问题是如何使用ifelse复制具有不同条件的不同行。或许还有其他的解决办法。这里的数据:
type Time value
A 2015-01-01 100
A 2016-05-01 200
B 2015-12-01 150
B 2016-12-01 300
我想要的结果是:
type Time value
A 2015-01-01 100
A 2015-01-01 100
A
很抱歉提出了另一个讨厌的子集问题;我就是找不到描述这种情况的地方,尽管它一定很常见。简化后的数据如下所示:
Plot Year BA
A 1980 44
A 1990 54
A 2000 66
B 1980 58
B 1990 69
B 2000 80
我想要1980年BA < 50的所有图的所有观察值--在上面,所有三个A行。我理解subset(Df, BA<50 & Year==1980),但不知道下一级的索引是什么。
此外,如果有人有更好的方式来表达标题,我会改变
我有一个疑问:
select count(name) as nr
from team where city='ny' and name=ANY
(select teamName from contract where playerCode=ANY
(select code from player where name='X' and surname='Y'));
我不明白为什么count()函数不对重复项进行计数,即使没有不同的子句。
这些表如下:
Player(code, name, surname)
Contract(id,
我希望(1)将数据按一个变量(State)分组,(2)在每个组中找到另一个变量(Employees)的最小值行,(3)提取整行。
(1)和(2)是简单的一行,我觉得(3)也应该是,但我不能理解。
下面是一个示例数据集:
> data
State Company Employees
1 AK A 82
2 AK B 104
3 AK C 37
4 AK D 24
5 RI E 19
6 RI F 11
我想按名称提取一些正则表达式的最小条目。
下面是一些数据:
# Here I define the dates:
dates <- as.Date(as.character(c("2011-01-13",
"2011-01-14",
"2011-01-15",
"2011-01-16",
"2011-01
我有一个条件列及其值的dataframe,我有一个只有条件的dataframe,我想通过匹配条件来提取它们的值。
df1:
Name Style Price Style Price Style Price
Gary A 100 AB 300 B 200
Johnson AB 200 B 700 A 300
Marsha AC 300 C 500 A 400
Watson A 400 B
我相信这个问题已经被问了很长时间了,但我找不到解决方案。
我尝试根据第一个变量的值有条件地替换第二个变量的值。以下是数据。
MAKE Continent
1 HOLDEN US
2 HOLDEN US
3 FORD US
4 FORD US
if(gsample$MAKE == "HOLDEN") gsample$Continent = "AUS"
警告消息:
In if (gsample$MAKE == "HOLDEN") gsample$Continent =
我有一个从API中提取的数据文件。经过几次清洗后,它看起来像这样:
Title Year Rating Title Year Rating Title Year Rating
Movie 1 1997 6.7 Movie 2 1987 8.2 Movie 3 2009 7.1
列标题重复,在本例中,一行包含3个单独的条目。
我如何重塑这一点,使我最终有3列(标题,年份,评级)和3行(电影1,电影2,电影3)?
最简单的方法是什么?
在表格中给出一个数据框架:
group val
A 10
A 1
B 9
C 6
...
我想在每个val中随机取样group,结果是一个新的数据框架。问题是每个val中的group数是不同的,所以我不能直接使用sample()。现在,我想确定if-else条件下的样本大小:如果val的数量大于,比方说,3,那么就采样三个val。否则,所有的val都被作为样本。我怎么能这么做?提前谢谢你!
我必须删除我的数据帧中的列,该数据帧有超过4000列和180个rows.The。我希望设置以下条件来删除数据帧中的列:(i)如果该列中的值/条目少于两个,则删除该列;(ii)如果该列中没有两个连续的(一个接一个)值,则删除该列。(iii)删除所有值均为NA的列。我已经提供了删除列的条件。这里的目的不仅仅是按照列的名称查找列,就像“如何在data.table中删除列?”那样。我的说明如下:
A B C D E
0.018 NA NA NA NA
0.017 NA NA NA NA
0.019 NA NA NA NA
0.018 0.034
我的问题与有关。
本质上的问题是:如何根据同一数据帧中单独列中的重复组在一列中选择最大值?
在那篇文章中,用户EDi 介绍了如何完成这个任务。
我的问题是:如何完成相同的任务,但不是报告最大值,而是在第三列中报告与最大值相关的值?。
例如:
假设我有一个data.frame:
集团价值年A 12 1933 A 10 2010 B 3 1935 B 5 1978 B 6 2011 C 1 1954 D 3 1933 D 4 1978
对于分组变量的每个级别,我希望提取最大值发生的年份。因此,结果应该是一个数据帧,分组变量的每级有一行:
A组年1933 b 2011年c 1