R 变量前的美元符号
我用这个示例代码从现有的数据框“my_data”创建一个新的数据框“new_data”R 变量前的美元符号,r,dataframe,r-faq,dollar-sign,R,Dataframe,R Faq,Dollar Sign,我用这个示例代码从现有的数据框“my_data”创建一个新的数据框“new_data” new_data = NULL n = 10 #this number correspond to the number of rows in my_data conditions = c("Bas_A", "Bas_T", "Oper_A", "Oper_T") # the vector characters correspond to the target column names in my_data
new_data = NULL
n = 10 #this number correspond to the number of rows in my_data
conditions = c("Bas_A", "Bas_T", "Oper_A", "Oper_T") # the vector characters correspond to the target column names in my_data
for (cond in conditions){
for (i in 1:n){
new_data <- rbind(new_data, c(cond, my_data$cond[i]))
}
}
new_data=NULL
n=10#此数字对应于my#u数据中的行数
conditions=c(“基本”、“基本”、“操作”、“操作”)#矢量字符对应于my#u数据中的目标列名
用于(条件中的条件){
for(1:n中的i){
新数据要访问列,请使用:
my_data[ , cond]
或
可通过以下方式访问i
th行:
my_data[i, ]
将两者结合起来以获得所需的值:
my_data[i, cond]
或
我想你需要get()
例如,
get(x,list)
,其中list
是列表,x
是变量(可以是字符串),它等于list$x
但是在get(x,list)
中,x
在使用$
时可以是变量,x
不能是变量。$
作用于列,而不是单个列对象。这是一种向量化形式。代码
corrections$BookDate = as.Date(corrections$BookDate, format = "%m/%d/%Y")
将corrections
表的BookDate
列的内容从字符串转换为Date
对象。它通过一个操作,即赋值,来执行此操作
执行以下操作将解决您的问题:
new_data <- rbind(new_data, c(cond, my_data$cond))
new\u data$
并非真正用于编程。它旨在方便交互使用。请尝试使用mydata[i,cond]
相反。但是,看看你的代码,我认为你可能会受益于重塑
函数,或者实际上是重塑2
包……注意我的数据
是一个数据。框架
和新数据
是一个矩阵
。我们不能使用c$列
,其中c
是一个矩阵吗?我在c$col1中得到了错误:$运算符对原子向量无效
。@Mahesha999您不能将$
用于矩阵。出于好奇,例如,如果我们想利用$
提供的支持的部分匹配,我们不能使用类似'$'(数据,某物(cond))的东西吗
有些函数是我不完全理解的一个或多个函数,如.symbol
,as.expression
,quote
enquote
substitute
等。我想在数据帧中添加106列,这些列是数据帧的长度,但用0填充。我如何循环这个呢(i矢量){df$i
corrections$BookDate = as.Date(corrections$BookDate, format = "%m/%d/%Y")
new_data <- rbind(new_data, c(cond, my_data$cond))