这是我的虚拟数据集:
dataset<-data.frame(a=c(1,2,3,4),b=c('a','b','c','d'), c=c("HI","DD","gg","ff"))
g=list(c("a","b"),c(2,3,4), c(44,33,11,22),c("chr","ID","i","II"))
dataset$l<-g
dataset
a b c l
1 1 a HI a, b
2 2 b DD 2, 3, 4
3 3 c gg 44, 33, 11, 22
4 4 d ff chr, ID, i, II
> mode(dataset$l)
[1] "list"
Run Code Online (Sandbox Code Playgroud)
当我尝试将数据集写入文件时:
> write.table(dataset, "dataset.txt", quote=F, sep="\t")
Error in write.table(x, file, nrow(x), p, rnames, sep, eol, na, dec, as.integer(quote), :
unimplemented type 'list' in 'EncodeElement'
Run Code Online (Sandbox Code Playgroud)
我怎么解决这个问题?
我正在使用plot()R 中的因子绘制连续变量(参见下面的示例).我不想要轴上的标签.如果没有as.factor公式中的调用,ann = F则会禁止打印标签,但as.factor在公式中不起作用.
为什么是这样?
谢谢.
# example for SO
# example data
x <- sample(1:100, 10)
y <- c(rep(1, 5), rep(2, 5))
# ann = F doesn't work here
plot(x ~ as.factor(y), ann = F)
# ann = F does work here
plot(x ~ y, ann = F)
Run Code Online (Sandbox Code Playgroud) 我有一个R数据帧,其中一列包含一串数字,但我想将它们视为一个因素(主要是为了阻止R使用e + 04等缩短数字......).我找到解决此问题的一种方法是编辑从中获取数据的csv文件,并添加一个在所需列中包含单词的虚拟条目,然后重新导入它.如何在不搞乱csv的情况下使用R函数获得此效果?
为了澄清,我的数据框看起来像这样:
pNum,Condition,numberEntered
1,2,5.0970304e+07
Run Code Online (Sandbox Code Playgroud)
我想将numberEntered的数据类型从numeric更改为factor,并摆脱讨厌的e + 07.
我正在尝试开始使用因子。
到目前为止,我已经:
$INSTALL/factor$INSTALL/factor/factor这似乎运行良好。
按照编写第一个因子程序的说明,我注意到scaffold-vocab在我的$INSTALL/factor/work目录中生成了文件。我现在可以使用它,但总的来说,我喜欢保留一个单独的$INSTALL目录树和$CODE目录树。
所以我试图按照“使用因子目录树之外的代码”文档中的说明将其他目录添加到用于将代码加载到factor可执行文件的路径中,但我运气不佳。
首先,我尝试设置一个FACTOR_ROOTS环境变量:
% export FACTOR_ROOTS=.:$CODE/Factor:$INSTALL/factor
% $INSTALL/factor/factor
( scratchpad ) "work" resource-path .
"/usr/local/src/factor/work"
( scratchpad ) ^D
Run Code Online (Sandbox Code Playgroud)
然后,我尝试创建一个~/.factor-roots文件
% echo . > ~/.factor-roots
% echo $CODE/Factor >> ~/.factor-roots
% echo $INSTALL/factor >> ~/.factor-roots
% $INSTALL/factor/factor
( scratchpad ) "work" resource-path .
"/usr/local/src/factor/work"
( scratchpad ) ^D
Run Code Online (Sandbox Code Playgroud)
然后我检查了它是否应该./.factor-roots改为:
% …Run Code Online (Sandbox Code Playgroud) 我可能对探索像 Forth(或 Factor)这样的基于堆栈的语言感兴趣。我想看到的是如何从头开始逐步构建应用程序。我发现的教程是基本的,并没有帮助我理解更大的图景。在处理大量部件时,考虑如何管理堆栈是令人困惑的。
我一直认为(也许是错误的)学习语言的一个好方法是用它来编写Roguelike游戏。我很难弄清楚一个人如何在一堆东西上杂耍:迷宫、数十种生物、宝藏、角色统计数据等。
我想在格子中的单个面板上叠加多个组,并且想要独立的回归线.
通过使用条件因子,可以很容易地获得多个面板,每个面板都有一个回归线:
xyplot(
Petal.Width ~ Petal.Length | Species,
data = iris,
panel = function(x, y, ...) {
panel.xyplot(x, y, ...)
panel.abline(lm(y~x), col='#0080ff')
},
grid = TRUE
)
Run Code Online (Sandbox Code Playgroud)

对于叠加的xyplot中的所有点,打印单个回归也相当容易:
xyplot(
Petal.Width ~ Petal.Length,
data = iris,
groups = Species,
panel = function(x, y, ...) {
panel.xyplot(x, y, ...)
panel.abline(lm(y~x))
},
grid = TRUE,
auto.key = list(title='Species', space='right')
)
Run Code Online (Sandbox Code Playgroud)

但这不是我需要的.我会回答这个问题,但看起来很混乱.也许这就是野兽的本质.
我正在寻找更容易理解的东西.格子是首选,但也可以接受良好的ggplot解决方案.如果不清楚,我正在制作供Excel用户使用的图表.
假设你有一个向量列表:
L = list()
L[[1]]= c(2,34,6,7,3)
L[[2]]= c(3,4,6,8,1)
names(L[[1]])=c("A","B","C","D","E")
names(L[[2]])=c("A","R","C","D","F")
L
## [[1]]
## A B C D E
## 2 34 6 7 3
##
## [[2]]
## A R C D F
## 3 4 6 8 1
Run Code Online (Sandbox Code Playgroud)
我想用每个元素的名称对2个向量求和...结果:
A B C D E F R
5 34 12 15 3 1 4
Run Code Online (Sandbox Code Playgroud)
谢谢
数据如下所示:
statenum casenum vnumber pnumber numfatal
1 48 3081 1 1 1
2 48 3080 5 1 1
3 48 3080 4 1 1
4 48 3080 1 1 1
5 48 3080 2 1 1
6 48 3080 3 1 1
7 48 3079 1 1 1
8 47 3080 1 1 1
9 47 3080 3 4 1
10 47 3080 2 3 1
11 47 3080 3 2 1
12 47 3080 2 2 1
13 47 …Run Code Online (Sandbox Code Playgroud) 一段时间后我回到了R,以下让我难过:
我想在facor级别列表中建立一个位置因子值列表.例:
> data = c("a", "b", "a","a","c")
> fdata = factor(data)
> fdata
[1] a b a a c
Levels: a b c
> fdata$lvl_idx <- ????
Run Code Online (Sandbox Code Playgroud)
这样:
> fdata$lvl_idx
[1] 1 2 1 1 3
Run Code Online (Sandbox Code Playgroud)
感谢任何提示或提示.
每当我尝试解决一些数学问题,比如找到一定数量因素的特定产品,我就用Python做
for x in xrange(1,10):
for y in xrange(1,10):
for z in xrange(1,10):
product = x * y * z
if product == 36:
print "factors : {0},{1},{2}".format(x,y,z)
Run Code Online (Sandbox Code Playgroud)
在这个例子中,它非常简单并快速完成工作,但我想知道你们是否知道更简单或更简单的方法来编写它.关于如何做到这一点的任何想法,而不是使用那么多迭代或反复重复几乎相同的代码.这显然是有3个因素,但我添加的因素越多,代码越长,重复性越高.关于如何简化这类简单问题的代码的任何想法?谢谢