你能用"R"通过参考吗?例如,在以下代码中:
setClass("MyClass",
representation(
name="character"
))
instance1 <-new("MyClass",name="Hello1")
instance2 <-new("MyClass",name="Hello2")
array = c(instance1,instance2)
instance1
array
instance1@name="World!"
instance1
array
Run Code Online (Sandbox Code Playgroud)
输出是
> instance1
An object of class “MyClass”
Slot "name":
[1] "World!"
> array
[[1]]
An object of class “MyClass”
Slot "name":
[1] "Hello1"
[[2]]
An object of class “MyClass”
Slot "name":
[1] "Hello2"
Run Code Online (Sandbox Code Playgroud)
但我希望如此
> instance1
An object of class “MyClass”
Slot "name":
[1] "World!"
> array
[[1]]
An object of class “MyClass”
Slot "name":
[1] "World!"
[[2]]
An object of class …
Run Code Online (Sandbox Code Playgroud) 我希望(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 118
7 RI G 88
8 RI H 42
data <- structure(list(State = structure(c(1L, 1L, 1L, 1L, 2L, 2L, 2L,
2L), .Label = c("AK", "RI"), class = "factor"), Company = structure(1:8, .Label = c("A",
"B", "C", "D", "E", "F", "G", "H"), class = "factor"), Employees …
Run Code Online (Sandbox Code Playgroud) 我有一个data.table,大约有300万行和40列.我想按照以下sql模拟代码中的组内降序对此表进行排序:
sort by ascending Year, ascending MemberID, descending Month
Run Code Online (Sandbox Code Playgroud)
在data.table中是否有相同的方法来执行此操作?到目前为止,我必须将其分解为两个步骤:
setkey(X, Year, MemberID)
Run Code Online (Sandbox Code Playgroud)
这非常快,只需几秒钟.
X <- X[,.SD[order(-Month)],by=list(Year, MemberID)]
Run Code Online (Sandbox Code Playgroud)
这个步骤需要更长的时间(5分钟).
更新:有人发表评论X <- X[sort(Year, MemberID, -Month)]
并稍后删除.这种方法似乎要快得多:
user system elapsed
5.560 11.242 66.236
Run Code Online (Sandbox Code Playgroud)
我的方法:setkey()然后订购(-Month)
user system elapsed
816.144 9.648 848.798
Run Code Online (Sandbox Code Playgroud)
我现在的问题是:如果我想按年份,MemberId和sort(Year,MemberID,Month)之后的月份进行汇总,data.table是否会识别排序顺序?
更新2:回应Matthew Dowle:
在使用Year,MemberID和Month的setkey之后,每组仍然有多个记录.我想要的是总结每个小组.我的意思是:如果我使用X [order(Year,MemberID,Month)],求和是否利用data.table的二进制搜索功能:
monthly.X <- X[, lapply(.SD[], sum), by = list(Year, MemberID, Month)]
Run Code Online (Sandbox Code Playgroud)
更新3:Matthew D提出了几种方法.第一种方法的运行时间比order()方法快:
user system elapsed
7.910 7.750 53.916
Run Code Online (Sandbox Code Playgroud)
马修:让我感到惊讶的是大部分时间转换月份的标志.没有它,setkey的速度非常快.
在R markdown(knitr包)中,我可以访问在代码块中计算的文档正文中的变量吗?
如何使用R连接多个数据帧dplyr
?
new <- left_join(x,y, by = "Flag")
Run Code Online (Sandbox Code Playgroud)
这是我用来离开连接x和y的代码,代码不适用于多个连接
new <- left_join(x,y,z by = "Flag")
Run Code Online (Sandbox Code Playgroud) MVC4的来源是否可用?我搜索过codeplex和所有常用的地方,但似乎无法找到?MS是否一直保密到最后?他们为什么要那样做?
tidyr的文档表明收集和传播是可传递的,但以下带有"虹膜"数据的示例显示它们不是,但不清楚为什么.任何澄清将不胜感激
iris.df = as.data.frame(iris)
long.iris.df = iris.df %>% gather(key = feature.measure, value = size, -Species)
w.iris.df = long.iris.df %>% spread(key = feature.measure, value = size, -Species)
Run Code Online (Sandbox Code Playgroud)
我希望数据框"w.iris.df"与"iris.df"相同,但收到以下错误:
"错误:行的重复标识符(1,2,3,4,5,6,7,8,9 ..."
我的一般问题是如何在这种数据集上反转"聚集"的应用.
我只知道这个describe()
功能.是否还有其他的功能类似str()
,summary()
和head()
?
我正在寻找C标准库的源代码.我的意思是,例如,如何编写cos,abs,printf,scanf,fopen和所有其他标准C函数,我的意思是看他们的源代码.
所以在搜索时,我遇到了GLIBC,但我不知道它到底是什么.它是GNU C库,它包含一些源代码,但它们实际上是什么,它们是标准函数的源代码还是其他东西?它用于什么?
我需要匹配前面有两个不同元音的'r'.例如,'我们'或'梨'将匹配,但'bar'或'aar'不匹配.我确实设法匹配两个不同的元音,但我仍然不能使...
后续'r'的lookbehind 条件().既(?<=...)r
不会...\\Kr
产生任何结果.有任何想法吗?
x <- c('([aeiou])(?!\\1)(?=(?1))')
y <- c('our','pear','bar','aar')
y[grepl(paste0(x,collapse=''),y,perl=T)]
## [1] "our" "pear"`
Run Code Online (Sandbox Code Playgroud) r ×8
data.table ×2
dplyr ×2
aggregate ×1
asp.net-mvc ×1
c ×1
glibc ×1
gnu ×1
knitr ×1
oop ×1
pandas ×1
performance ×1
python ×1
r-markdown ×1
regex ×1
tidyr ×1